Я пытаюсь скомпилировать Python 2.6.8 в Redhat 5 Linux Box.

В конце компиляции я получил эти сообщения;

Failed to find the necessary bits to build these modules:
_bsddb             _curses            _curses_panel
_hashlib           _sqlite3           _ssl
_tkinter           bsddb185           bz2
dbm                dl                 gdbm
imageop            readline           sunaudiodev

Основываясь на приведенных выше именах, я использовал yum search и нашел несколько пакетов rpm для выполнения зависимостей.

Ncurses

ncurses-5.5-24.20060715.x86_64 ncurses-devel-5.5-24.20060715.i386

gdbm gdbm-1.8.0-26.2.1.x86_64

readline readline-5.1-3.el5.x86_64

b2 bzip2-1.0.3-4.el5_2.x86_64 bzip2-devel-1.0.3-4.el5_2.x86_64

Однако мне не повезло с остальными.

Есть ли какая-то техника в обнаружении зависимостей? Есть ли доступный веб-ресурс для поиска пакетов rpm?

2 ответа2

1
  1. Используйте команду deplist для получения списка зависимостей пакета:

yum deplist <package>

2. Или используйте инструмент repoquery из пакета yum-utils :

repoquery --requires <package>

1

RPMfind будет вашим лучшим выбором для поиска RPM. Убедитесь, что вы получили версии -devel и основной пакет, так как компилятор будет искать заголовки и / или библиотеки, которые входят в эти пакеты. У них есть RPM для Python 2.6.8 на платформах i586 и x86_64 , изначально созданные для OpenSUSE, но потенциально полезные для вас.

Что касается Python, если у вас нет особой необходимости в версии 2.6, я настоятельно рекомендую использовать самые последние версии с исправленными ошибками и полнофункциональными версиями. 2.7.5 является текущей версией для серии обслуживания 2.x, а 3.3.2 - последней версией Python 3. Чтобы найти информацию о модулях, которые не удалось собрать, загляните в каталог Python-2.7.5/Modules (или любую версию, которую вы в итоге создали) и найдите .c файлы, связанные с именем модуля. Например, в моем каталоге Python-3.3.2/Modules меня есть _tkinter.c который в верхней части страницы говорит:«Поддерживаются только Tcl/Tk 8.3.1 и более поздние версии», так что теперь я знаю, какие имена пакетов и версии искать ,

Удачи!

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