make не может найти библиотеку X11 (Ubuntu 18.04.3 LTS)

Вопрос или проблема

Я пытаюсь выполнить команду make для установки пакета supermongo:

https://www.astro.princeton.edu/~rhl/sm/sm.html

но получаю эту ошибку:

В файле, включенном из x11.c:20:0:
/usr/include/X11/Xlib.h:44:10: фатальная ошибка: X11/X.h: Нет такого файла или каталога
 #include <X11/X.h>
          ^~~~~~~~~
компиляция прервана.
Makefile:5: рецепт для цели 'x11.o' не удался

Я уже установил все необходимые библиотеки, среди которых libx11-dev.
Что я упустил?

(Из команды apt-file search /X.h)

Пакет, который вам недостает – это x11proto-dev.

Ответ или решение

Когда вы пытаетесь установить пакет supermongo на Ubuntu 18.04.3 LTS и сталкиваетесь с ошибкой, связанной с отсутствием библиотеки X11, это может быть вызвано несколькими причинами. Давайте разберем вашу ситуацию более подробно.

Проблема

Ошибка, которую вы видите, указывает на то, что файл X.h, который должен находиться в пути /usr/include/X11/, отсутствует. Сообщение об ошибке:

In file included from x11.c:20:0:
/usr/include/X11/Xlib.h:44:10: fatal error: X11/X.h: No such file or directory
 #include <X11/X.h>
          ^~~~~~~~~
compilation terminated.
Makefile:5: recipe for target 'x11.o' failed

указывает на то, что компилятор не может найти необходимые заголовочные файлы для работы с X11.

Первые шаги к решению

Вы упомянули, что уже установили библиотеку libx11-dev. Это правильный шаг, так как она содержит основные компоненты для работы с X11. Однако, для успешной компиляции могут потребоваться и дополнительные пакеты.

Необходимый пакет

Проблема, с которой вы столкнулись, может быть решена установкой пакета x11proto-dev. Этот пакет содержит необходимые протоколы и заголовочные файлы, которые требуются для работы с X11, включая файл X.h.

Вы можете установить его, выполнив следующую команду в терминале:

sudo apt-get install x11proto-dev

Дополнительные рекомендации

  1. Проверьте зависимости: Убедитесь, что у вас установлены все зависимости, которые могут понадобиться для компиляции supermongo. Например, вы можете проверить другие необходимые библиотеки, выполнив:

    sudo apt-get install libxext-dev libxrender-dev
  2. Обновление системного пакета: Убедитесь, что ваша система обновлена и что установлены последние версии пакетов, выполнив:

    sudo apt-get update
    sudo apt-get upgrade
  3. Проверка файла Makefile: Иногда линковка может быть настроена неправильно в файле Makefile. Убедитесь, что в нем присутствуют правильные флаги для компиляции и линковки с X11. Например, убедитесь, что -lX11 включён.

  4. Установка других необходимых пакетов: В зависимости от ваших потребностей, могут потребоваться и другие пакеты. Проверьте документацию к supermongo для получения информации о всех необходимых библиотеках.

Заключение

Если после установки x11proto-dev и проверки дополнительных пакетов проблема всё ещё сохраняется, рекомендую рассмотреть возможность поиска альтернативных решений или обратиться к сообществу пользователей supermongo для получения дополнительных советов по настройке и установке.

Ваши усилия по установке supermongo не должны быть напрасными, и с правильной конфигурацией ваша система заработает должным образом.

Оцените материал
Добавить комментарий

Капча загружается...