如何在 Debian Lenny 上使用 ssl、readline 和 zlib 编译 Python 2.4.6

2024-02-17

我有一个装有 Debian 7.1 的虚拟 Linux 盒子,我需要 Python 2.4.6 来恢复旧的 Zope 安装(当然是为了将其更新到 Plone 4)。

我绝对需要ssl支持,当我编译时,我想要readline当然,也是如此。最后,我当然需要zlib, 否则ez_setup.py等等都行不通;我很难得到zlib包括。

我下载了Python 2.4.6的tarball,启用ssl in Modules/Setup.dist:

SSL=/usr/local/ssl
_ssl _ssl.c \
        -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
        -L$(SSL)/lib -lssl -lcrypto

...并呼吁:

./configure  --prefix=/my/dest/dir --with-zlib
make

make最后给了我一些警告crypt and nis, but make install不会产生任何错误。然而,生成的 Python 具有以下两个特性:readline and ssl支持,但是没有zlib;因此,我不能使用ez_setup.py获取 setuptools/pip 等

我尝试取消注释并重新排除该行

zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz

from Setup.dist.

安装的一些系统包:

  • zlib1g-dev
  • lib32z1-dev
  • libreadline-gplv2-dev

还有什么我错过的吗?

Update,读完后https://stackoverflow.com/a/4047583/1051649 https://stackoverflow.com/a/4047583/1051649:

I did

$ sudo apt-get install zlib1g zlib1g-dev libncurses5-dev libreadline6-dev ncurses-doc
$ python setup.py clean
$ ./configure --with-ssl --with-zlib --prefix=...
$ make
$ sudo make install

结果解释器无法执行distribute_setup.py.


我找到了解决方案here https://stackoverflow.com/a/11911570/1051649:

我变了setup.py,寻找对 lib_dirs 变量的第一个赋值,像这样更改它:

lib_dirs = self.compiler.library_dirs + [
'/lib64', '/usr/lib64',
'/lib', '/usr/lib',
'/usr/lib/x86_64-linux-gnu',   # added
'/usr/lib/i386-linux-gnu',     # added
]

然后我重复了整个事情,从setup.py clean,并且成功了。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Debian Lenny 上使用 ssl、readline 和 zlib 编译 Python 2.4.6 的相关文章

随机推荐