2013-08-29 39 views
3

我有一個虛擬的Linux機器在Debian 7.1,我需要一個Python 2.4.6重新加進一箇舊的Zope安裝(以更新到的Plone 4,當然)。如何編譯的Python 2.4.6使用SSL,readline的和zlib。在Debian Lenny

我肯定需要ssl支持,當我編譯時,我當然也需要readline。最後,我當然需要zlib,否則ez_setup.py等將無法正常工作;我很難得到zlib

我下載的Python 2.4.6的壓縮包,在Modules/Setup.dist啓用ssl

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給了我一些警告末約cryptnis,但make install不會產生任何錯誤。然而,由此產生的Python功能都readlinessl支持,但沒有zlib;因此,我不能使用ez_setup.py得到setuptools的/畫中畫等

我都嘗試以取消並重新排除線

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

其上安裝一些系統軟件包:

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

還有什麼我錯過了什麼?

更新,起伏閱讀https://stackoverflow.com/a/4047583/1051649後:

我做

$ 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

回答

9

我找到了解決辦法here

我改變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 ,它的工作。