Как установить пакет Xaw с заголовочными файлами?

У меня есть эта ошибка на Ubuntu 14.04:

checking for X... libraries , headers /usr/include/X11/
configure: error: Cannot find required Xaw header file Box.h; PDCurses cannot be configured

Как я могу зафиксировать его?

4
задан 24 November 2015 в 10:37

3 ответа

TL; DR: libxaw7-dev Install libxaw7-dev установки.

Кажется, что Вы создаете программное обеспечение из исходного кода, и что программное обеспечение, которое Вы создаете, не является самим Xaw, но вместо этого использует Xaw путем соединения против него.

Для создания программного обеспечения, которое связывается с библиотекой необходимо установить заголовочные файлы для той библиотеки (который является тем, что сообщение об ошибке - "Не может показать требуемым заголовочным файлом Xaw, Box.h" - говорит Вам, что Вы не имеете).

В Ubuntu заголовочные файлы обеспечиваются отдельными пакетами, имена которых заканчиваются в -dev. В этом случае Вам нужен libxaw7-dev Install libxaw7-dev. (Вам также нужен libxaw7 Install libxaw7, но если у Вас уже не будет его, то он будет установлен автоматически при установке соответствия -dev пакет. Напротив, установка его автоматически не установит -dev пакет.)

Можно установить libxaw7-dev Install libxaw7-dev в Центре программного обеспечения, или путем выполнения:

sudo apt-get update
sudo apt-get install libxaw7-dev

В то время как Вы не должны устанавливать libxaw7 явно, Вы могли бы хотеть, так, чтобы это не было автоматически удалено если -dev пакет позже удаляется, и никакой другой пакет не объявляет зависимость от него. (Вообще говоря, диспетчер пакетов не знает о программном обеспечении, которое Вы вручную создали и установили от исходного кода.), Если Вы хотите сделать это, замените вторую строку:

sudo apt-get install libxaw7-dev libxaw7

Или просто выполненный sudo apt-get install libxaw или sudo apt-mark manual libxaw7, если Вы уже установили libxaw7-dev.

В случае этой конкретной библиотеки (libxaw7), было легко предположить название пакета, который обеспечивает его заголовочные файлы libxaw7-dev. Иногда, это не настолько легко. В этом случае, или в целом узнать, что официальный пакет Ubuntu обеспечивает файлу (чье имя файла Вы знаете), можно искать Базу данных Пакетов Ubuntu при "Поиске содержание пакетов".

Это показывает, что много пакетов предоставляют файлам это или аналогичное имя. Однако только один из результатов поиска предоставляет заголовочный файл Xaw: libxaw7-dev (Файл /usr/include/X11/Xaw/Box.h.)

Тот поиск показывает другие связанные заголовочные файлы, обеспеченные двумя другими связанными пакетами, которые я полагаю, что Вам не нужно, так как Ваше сообщение об ошибке, сказанное ", Не может показать требуемый заголовок Xaw" (и не Xaw3d или Xaw3dxft). Однако в случае, если Вам нужны те связанные библиотеки Box.h файлы, им предоставляют xaw3dg-devInstall xaw3dg-devxpaint-devInstall xpaint-devпакеты и .

1
ответ дан 1 December 2019 в 09:14

Красивой функцией человечности является способность искать библиотеки... Вам нужен Xax с заголовочными файлами... каждый пакет, дающий концы заголовков с -dev... при терминальном поиске путем издания:

apt-cache search  Xaw  # any library will start with lib and end with dev

здесь я поместил те ограничения, которые все на той же строке

apt-cache search  Xaw | grep lib | grep -i Xaw | grep dev

производят

libxaw7-dev - X11 Athena Widget library (development headers)
libxaw3dxft8-dev - Extended version of Xaw3d with support for UTF8 (Development files)

выбор из вышеупомянутого списка самого близкого..., которое является

libxaw7-dev  # desired package - starts with lib has xaw ends with dev

, так выпустите это для установки

sudo apt-get install libxaw7-dev

когда-то установленная проблема это для списка файлов, содержавшихся в пакете (для наблюдения заголовочных файлов)

 dpkg -L libxaw7-dev
4
ответ дан 1 December 2019 в 09:14

Кажется, что еще нет никакого ответа, принятого... Поэтому давайте иметь попытку: На моем Ubuntu out-of-the-box машина, сначала я устанавливаю необходимый пакет разработки с заголовками:

sudo apt-get install libxaw7-dev

Тогда я должен сказать ./configure, пишут сценарий корректного местоположения к этим файлам для разработчика. На моей машине это /usr/lib/x86_64-linux-gnu. Вы получаете это от apt-cache show libxaw7. С этим знанием звоните

./configure --x-libraries=/usr/lib/x86_64-linux-gnu
2
ответ дан 1 December 2019 в 09:14

Другие вопросы по тегам:

Похожие вопросы: