2011-08-24 25 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