CFLAGS 和 gcc 在 Makefile 中未传递
我正在尝试在OSX上编译32位的Python。为此,我想指定一个参数-m32,所以我认真地设置了
CFLAGS='-m32' LDFLAGS='-m32' ./configure
配置执行得很顺利,但当我运行make命令时,gcc的执行中没有看到-m32这个参数。为了让它生效,我不得不采取更激进的方法:
CFLAGS='-m32' LDFLAGS='-m32' CC='gcc -m32' ./configure
我不太明白我指定的CFLAGS参数为什么没有被传递(而LDFLAGS却有。我在Makefile中找到了LDFLAG=-m32)。这是配置脚本的错误,还是我做错了什么?
我使用的是Python 2.6.0(别问我为什么)
1 个回答
2
好的,我可以在Python-2.6上重现这个问题。看起来这是这个版本的一个bug,而在更新的版本中已经修复了。
不过,我可以告诉你,很多软件包会覆盖或过滤掉一些被认为不安全的CFLAGS
值。这通常也包括-m32
这个选项。
而且,很多软件包根本不理会LDFLAGS
(这确实是个错误)。所以,在构建32位软件包的时候,像你这样覆盖CC
,而不动CFLAGS
和LDFLAGS
是很常见的做法。