Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何让python使用libz编译?_Python_Makefile_Python 3.3 - Fatal编程技术网

如何让python使用libz编译?

如何让python使用libz编译?,python,makefile,python-3.3,Python,Makefile,Python 3.3,我刚刚从源代码编译的python 3.3版本: $ ldd ./python linux-gate.so.1 => (0xb776c000) libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xb773b000) libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xb7736000) libutil.so.1 => /lib/i38

我刚刚从源代码编译的python 3.3版本:

$ ldd ./python
    linux-gate.so.1 =>  (0xb776c000)
    libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0xb773b000)
    libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0xb7736000)
    libutil.so.1 => /lib/i386-linux-gnu/libutil.so.1 (0xb7731000)
    libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xb7707000)
    libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb7589000)
    /lib/ld-linux.so.2 (0xb776d000)
与python3(3.2)的系统版本相比:

由于某种原因,libz和其他一些库丢失了。我尝试了这个解决方案,但没有成功。我被难住了-有什么想法吗?

尝试使用--with libs。见下文

Python-3.3.0a1/configure --help | grep lib 
.... 
--with-libs='lib1 ...'  link against additional libs
....
在config.log中配置--with libs='libz'我明白--with system zlib“之后。这应该是您正在寻找的内容。

尝试使用--with libs。见下文

Python-3.3.0a1/configure --help | grep lib 
.... 
--with-libs='lib1 ...'  link against additional libs
....

在config.log中配置--with libs='libz'我明白--with system zlib“之后。这应该是您要查找的内容。

答案似乎在Modules/Setup(和Modules/Setup.dist)中。取消注释行358成功:

# Andrew Kuchling's zlib module.
# This require zlib 1.1.3 (or later).
# See http://www.gzip.org/zlib/
zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz

答案似乎在Modules/Setup(和Modules/Setup.dist)中。取消注释行358成功:

# Andrew Kuchling's zlib module.
# This require zlib 1.1.3 (or later).
# See http://www.gzip.org/zlib/
zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz

只需确保在运行config和make之前安装所需的库,例如:

如果第一次忘了,没关系,再试一次。如果以后要构建其他依赖Python的程序(例如,Django要求的mod_wsgi),那么最好使用--enable shared

如果在运行Python时看到“python3:加载共享库时出错:libpython3.5m.so.1.0:无法打开共享对象文件:没有这样的文件或目录”,那么解决方案之一就是:

cp /usr/local/lib/libpython3.5m.so.1.0 /usr/lib64/

否则,将其添加到LD_LIBRARY_路径。

只需确保在运行config和make之前安装所需的库,例如:

如果第一次忘了,没关系,再试一次。如果以后要构建其他依赖Python的程序(例如,Django要求的mod_wsgi),那么最好使用--enable shared

如果在运行Python时看到“python3:加载共享库时出错:libpython3.5m.so.1.0:无法打开共享对象文件:没有这样的文件或目录”,那么解决方案之一就是:

cp /usr/local/lib/libpython3.5m.so.1.0 /usr/lib64/

否则,将其添加到LD_LIBRARY_路径。

为什么您认为二进制文件需要与zlib链接?我正在编写的cython模块遇到问题,因为libz丢失。为什么您认为二进制文件需要与zlib链接?我正在编写的cython模块遇到问题,因为libz丢失失踪,嗯。该选项适用于./configure,但现在我无法创建。我在config.log中得到了#error“这个平台的pyconfig.h需要定义PY_格式_LONG_LONG”,我看到了类似于
gcc:error:libz:没有这样的文件或目录
hm。该选项适用于./configure,但现在我无法创建。我在config.log中得到#error“这个平台的pyconfig.h需要定义PY_格式_LONG_LONG”我看到类似于
gcc:error:libz:没有这样的文件或目录的错误