Модуль Python bz2 не компилируется по умолчанию
Кажется, что Python 2.6.1 не компилирует библиотеку bz2 по умолчанию из источника.
У меня нет lib-dynload/bz2.so
Какой самый быстрый способ добавить его (без установки Python с нуля)?
OS - это Linux 2.4.32-grsec + f6b + gr217 + nfs + a32 + fuse23 + tg+++ opt + c8 + gr2b-v6.194 # 1 SMP Tue Jun 6 15:52:09 PDT 2006 i686 GNU/Linux
IIRC Я использовал только флаг --prefix.
Ответы
Ответ 1
Вам нужно, чтобы libbz2.so(библиотека libbz2 общего назначения) была правильно установлена, чтобы Python мог создать для нее свой собственный интерфейс. Обычно это будет из пакета в вашем дистрибутиве Linux, который, вероятно, имеет имена "libbz2" и "dev" в имени пакета.
Ответ 2
Используйте управление пакетами поставщика, чтобы добавить пакет, содержащий файлы разработки для bz2. Обычно это пакет под названием "libbz2-dev". Например. на Ubuntu
sudo apt-get install libbz2-dev
Ответ 3
Есть 2 решения этой проблемы:
вариант 1. установить bzip2-devel
В Debian и производных вы можете легко установить это:
sudo apt-get install bzip2-devel
вариант 2. сборка и установка bzip2
В файле README пакета bzip2 объясняется, что на некоторых платформах, а именно на тех, где используются двоичные файлы Linux-ELF, вам необходимо создать дополнительный общий объект файл, как показано ниже:
wget http://bzip.org/1.0.6/bzip2-1.0.6.tar.gz
tar xpzf bzip2-1.0.6.tar.gz
cd bzip2-1.0.6
make
make -f Makefile-libbz2_so
make install PREFIX=/path/to/local # /usr/local by default
Критическим битом здесь является следующая команда:
make -f Makefile-libbz2_so
Я сделал это и после этого попытался снова создать Python, как показано ниже:
cd Python-2.7.3
./configure --prefix=/path/to/local
make install
Ответ 4
Если вы пытаетесь скомпилировать Python на RHEL5, пакет называется bzip2-devel, и если у вас установлен RHN, он может быть установлен с помощью этой команды:
yum install bzip2-devel
Как только это будет сделано, вам не нужны никакие опции --enable-bz2 или -with-bz2, но вам может понадобиться --enable-shared.