[英]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.