我现在陷入了整整一个下午,试图让
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/
当我按照描述进行操作时,我得到以下输出:
但是我有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
那么如何让setup.py来观察LDFLAGS = -L / lib命令?
任何帮助是极大的赞赏.
问候,
菲利普
解决方法
你需要通过适当的
标志到gcc和ld告诉编译器
编译和生成32位二进制文件.
标志到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]
您需要使用./configure-build = x86_64-pc-linux-gnu –host = i686-pc-linux-gnu在64位Linux系统中编译32位Linux.
注意:您仍然需要添加其他./configure选项.