clang:错误:未知参数:'-mno-fused-madd'

时间:2014-04-23 11:57:53

标签: python macos reportlab

安装ReportLab 3.1.8时,我遇到了一直遇到错误的问题,我找不到这个编译器选项的设置位置。

设置中的要点是:

建立' reportlab.lib._rl_accel'扩展

clang:错误:未知论点:' -mno-fused-madd' [-Wunused的命令行参数的硬错误功能于未来] clang:注意:将来这将是一个很难的错误(不能降级为警告) 错误:命令' cc'退出状态1失败

2 个答案:

答案 0 :(得分:1)

这是我的解决方案。

原因:我让我的mac保持最新状态,结果看起来我现在有了一个更新(不同)版本的c编译器(clang)而不是允许“-mno”的版本-fused-madd“命令行开关。

解决方案:我没有在reportlab源代码中的任何文件中找到上述开关。它必须在计算机上。罪魁祸首似乎是在distutils中,因为setup.py使用模块distutils。

问题出在文件 /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/_sysconfigdata.py 中。此文件包含定义为名为build_time_vars的字典。我们显然处于正确的位置,因为我们有构建时间问题。

  1. 首先制作副本作为保障。
  2. sudo< editor> <文件路径> 来编辑文件。
  3. 然后编辑此文件,从文件中搜索并删除开关-mno-fused-madd。我发现它以'CFLAGS'开头,因为这是一个编译标志。 改变这一行:
  4. ... -fwrapv -mno-fused-madd -DENABLE_DTRACE ... to ... -fwrapv -DENABLE_DTRACE ...

    保存文件并继续构建。它现在将保持固定。不需要环境变量或任何此类事物。

    编辑:当你在它时,删除_sysconfigdata.pyc和_sysconfigdata.pyo文件。

答案 1 :(得分:0)

您仍然可以使用以下环境变量来抑制clang中的这些错误:

export CFLAGS=-Qunused-arguments
export CPPFLAGS=-Qunused-arguments

可以在此处找到类似问题的详细答案:

clang error: unknown argument: '-mno-fused-madd' (python package installation failure)

根据以下内容,问题也已在OS X 10.9.3中修复:

clang: error: unknown argument: '-mno-fused-madd' [-Wunused-command-line-argument-hard-error-in-future]