如何在64位Linux上构建32位python 2.6?

Phi*_*ipp 9 python linux build 32bit-64bit

我现在陷入了整整一个下午,试图让python以32位模式构建.我使用openSUSE 11.3运行64位Linux机器,我安装了必要的-devel和-32bit软件包,以32位模式构建应用程序.

python构建的问题似乎不在make运行本身,而是在make的调用后的setup.py之后运行.

我找到了Ubuntu Linux的以下说明:h**p://indefinitestudies.org/2010/02/08/how-to-build-32-bit-python-on-ubuntu-9-10-x86_64/

当我按照描述进行操作时,我得到以下输出:

http://pastebin.com/eP8WJ8V4

但是我有libnetline,libopenssl等的-32bit包.pp.安装,但当然,它们位于/ lib和/ usr/lib下,而不是/ lib64和/ usr/lib64.

当我启动由此构建产生的python二进制文件时,我得到:

./python
Python 2.6.6 (r266:84292, Oct  5 2010, 21:22:06) 
[GCC 4.5.0 20100604 [gcc-4_5-branch revision 160292]] on linux2
Type "help", "copyright", "credits" or "license" for more information.
Traceback (most recent call last):
  File "/etc/pythonstart", line 7, in <module>
    import readline
ImportError: No module named readline
Run Code Online (Sandbox Code Playgroud)

那么如何让setup.py来观察LDFLAGS = -L/lib命令?

任何帮助是极大的赞赏.

此致,菲利普

Jam*_*lls 9

您需要将适当的标志传递给gcc和ld,以告诉编译器编译并生成32位二进制文​​件.

使用--build--host.

./configure --help
System types:
  --build=BUILD     configure for building on BUILD [guessed]
  --host=HOST       cross-compile to build programs to run on HOST [BUILD]
Run Code Online (Sandbox Code Playgroud)

您需要使用./configure --build=x86_64-pc-linux-gnu --host=i686-pc-linux-gnu在64位Linux系统中编译32位Linux.

注意:您仍需要添加其他./configure选项.