【问题标题】:CFLAGS and gcc at configure not passed in makefile配置中的 CFLAGS 和 gcc 未在 makefile 中传递
【发布时间】:2011-08-24 10:21:32
【问题描述】:

我正在尝试在 OSX 上编译 python 32 位。为了这样做,我想指定-m32,所以我尽职尽责地指定了

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

configure 执行正确,但是当我调用 make 时,gcc 执行没有 -m32 标志的痕迹。为了拥有它,我不得不采取更激进的方法:

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

我真的不明白为什么我指定的 CFLAGS 没有通过(LDFLAG 是。我在 Makefile 中找到 LDFLAG=-m32)。是配置脚本的错误,还是我做错了?

我用的是python 2.6.0(别问)

【问题讨论】:

  • 我在 Linux 上使用“Python 3.2.1 bzipped source tarball”,它适用于我 (tm)。
  • 这是哪个版本的 Python?您的第一个示例适用于 2.7.2、2.6.7 和 3.1.4。你用的是什么外壳?
  • 谢谢,我也更新了答案。好像是这个版本的bug,后来修复了。

标签: python makefile


【解决方案1】:

好的,我可以用 Python-2.6 重现它。这似乎是该版本中的一个错误,并已在较新的版本中修复。

不过,我可以告诉您,各种软件包通常会覆盖或过滤被认为不安全的值的 CFLAGS 等等。这通常也包括-m32

此外,许多软件包只是忽略了LDFLAGS(这确实是一个错误)。因此,对于构建 32 位软件包版本的特殊情况,通常会像您所做的那样覆盖 CC,而单独保留 CFLAGSLDFLAGS

【讨论】:

    猜你喜欢
    • 2020-03-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-23
    • 2015-07-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多