2011-08-24 85 views
1

我想在OSX上編譯python 32位。爲了做到這一點,我想指定-m32,所以我盡職盡責地指定配置CFLAGS和gcc未通過makefile

CFLAGS='-m32' LDFLAGS='-m32' ./configure 

的配置正確執行,但是當我調用make,gcc的執行有沒有-m32標誌的蹤影。爲了得到它,我不得不做更積極的做法:

CFLAGS='-m32' LDFLAGS='-m32' CC='gcc -m32' ./configure 

我真的不明白,爲什麼我CFLAGS指定不通過(在LDFLAGS是我找到LDFLAG = -m32在Makefile。 )。這是配置腳本的錯誤,還是我做錯了?

我使用python 2.6.0(不要問)

+0

我在Linux上使用「Python 3.2.1 bzipped源代碼壓縮包」,它適用於我(tm)。 –

+0

這是哪個版本的Python?你的第一個例子適用於2.7.2,2.6.7和3.1.4。你在用什麼外殼? –

+0

@更新了問題 –

回答

2

好吧,我可以重現與Python-2.6。這似乎是該版本中的一個錯誤,並在更新的版本中修復。

不過,我可以告訴你,各種軟件包覆蓋或過濾CFLAGS被認爲不安全的值是很常見的,等等。這通常也包括-m32

此外,許多包簡單地忽略LDFLAGS(這實際上是一個錯誤)。因此,對於構建32位軟件包版本的特殊情況,通常會像您一樣覆蓋CC,並且僅保留CFLAGSLDFLAGS