[英]How to build 32bit python 2.6 on 64bit Linux?
我现在陷入了整整一个下午,试图让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位二进制文件。
使用--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
选项。
关于为什么,因为Kirk(可能还有其他人)想知道,这里有一个例子:我有一个Python应用程序,其中包含大量含有轻量级对象的dicts。 由于指针的原因,这在64位上消耗的内存几乎是32位上的两倍。 我需要运行一些2GB(32位)的实例,并且额外的RAM会快速增加。 对于FreeBSD,32位64位监狱的详细配方在这里http://www.gundersen.net/32bit-jail-on-64bit-freebsd/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.