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

В частности, я хочу собрать Python 3.7 в моей системе Debian 9. Я не доверяю различным постам в блоге, которые я нашел в сети об этом, я хочу найти зависимости самостоятельно. Поскольку Python 3.7 отсутствует в репозиториях Debian 9, опция build-dep для apt-get не помогает.

Кроме того, я хотел бы знать, как сделать это в целом, а не только в отношении Python 3.7. Я новичок в строительстве из источника ... Открыли несколько файлов в исходной папке, чтобы посмотреть, смогу ли я найти список зависимостей, не повезло.

2 ответа2

1

Обычно пакет с исходным кодом поставляется с механизмом, который проверяет эти зависимости:

  • setup.py для модулей Python.
  • configure.ac / configure или CMakeList.txt для исходных текстов C / C++
  • так далее...

Просто запустите процесс сборки и посмотрите, как он терпит неудачу :-)

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

В этом случае это часто происходит из-за рукописных Makefile, и решение довольно простое: проверьте Makefile-s на предмет зависимостей ссылок (например: gcc [..] -lblabla: флаг -l для 'link против библиотеки blabla, поэтому тебе нужна либблабла). Тем не менее, даже если вы сможете проверить, какие библиотеки необходимы для создания исходных текстов, вы не сможете определить, какая версия этого ...

0

В дополнение к ответу бинарника, что хорошо, полезно поискать пакеты на LFS (Linux с нуля). Если у вас есть все, что было скомпилировано в данный пакет, то ваши зависимости в порядке.

Кроме того, более широкий выбор пакетов описан в BLFS (помимо Linux с нуля - с того же сайта), и эти описания пакетов содержат зависимости и необязательные зависимости.

Удачи.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .