Python';默认情况下不编译s bz2模块
在默认情况下,Python2.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周二6月15:52:09 PDT 2006 i686 GNU/LinuxPython';默认情况下不编译s bz2模块,python,c,compiler-construction,Python,C,Compiler Construction,在默认情况下,Python2.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周二6月15:52:09 PDT 2006 i686 GNU/Linux IIRC我只使用了--prefix标志。首先需要正确安装libbz2.so(通用libbz2库),Python
IIRC我只使用了--prefix标志。首先需要正确安装libbz2.so(通用libbz2库),Python才能构建自己的接口。这通常来自Linux发行版中的包,包名中可能包含“libbz2”和“dev”。使用供应商的包管理添加包含bz2开发文件的包。它通常是一个名为“libbz2dev”的包。例如在Ubuntu上
sudo apt get install libbz2 dev
如果您正试图在RHEL5上编译Python,则该包名为bzip2 devel,如果您已设置RHN,则可以使用以下命令安装:
yum安装bzip2-devel
完成后,您不需要--enable-bz2或--with-bz2选项,但可能需要--enable-shared。有两种解决方案: 备选案文1。安装bzip2-devel 在Debian及其衍生产品上,您可以像这样轻松安装:
sudo apt-get install bzip2-devel
备选案文2。构建并安装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
cd Python-2.7.3
./configure --prefix=/path/to/local
make install
这里的关键位是以下命令:
make -f Makefile-libbz2_so
我已经完成了这项工作,之后又尝试再次构建Python,如下所示:
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
cd Python-2.7.3
./configure --prefix=/path/to/local
make install
bzip2
和bzip2-devel
在Centos等发行版上使用Yum时。Debian包名为:libbz2 dev自述文件的可能副本表示make-f Makefile-libbz2_so,而不是make-f Makefile_libbz2_可以找到包bzip2-devel(挤压)@chovy:“apt cache search bzip | fgrep-dev”。您可以尝试“libbz2 dev”这里有一个bug,如果您已经运行了make
,那么在尝试make-f Makefile-libbz2_so
@hlin117-fPIC
是编译器的标志,而不是make
的选项之前,必须先运行make clean
。必须按如下方式将其作为环境变量传递:make-f Makefile-libbz2\u so CFLAGS=“-fPIC”