似乎Python 2.6.1默认不从源代码编译bz2库.
我没有lib-dynload/bz2.so
添加它的最快方法是什么(不从头开始安装Python)?
操作系统是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标志.
首先需要正确安装libbz2.so(通用libbz2库),以便Python能够构建自己的接口.这通常来自Linux发行版中的软件包可能在软件包名称中包含"libbz2"和"dev".
使用供应商的软件包管理添加包含bz2开发文件的软件包.它通常是一个名为"libbz2-dev"的软件包.例如在Ubuntu上
sudo apt-get install libbz2-dev
这种麻烦有两种解决方案:
在Debian和衍生品上,您可以像这样轻松安装:
sudo apt-get install bzip2-devel
在bzip2包的README文件中,解释了在某些平台下,即那些使用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
如果您正在尝试在RHEL5上编译Python,则该包称为bzip2-devel,如果您已设置RHN,则可以使用以下命令进行安装:
yum install bzip2-devel
完成后,您不需要--enable-bz2或--with-bz2选项,但您可能需要--enable-shared.