【问题标题】:clang: error: unknown argument: '-mno-fused-madd'铿锵声:错误:未知参数:'-mno-fused-madd'
【发布时间】:2014-04-23 11:57:53
【问题描述】:

在安装 ReportLab 3.1.8 时,我遇到了不断收到错误的问题,并且我找不到此编译器选项的设置位置。

设置的要点是:

构建“reportlab.lib._rl_accel”扩展

clang:错误:未知参数:'-mno-fused-madd' [-Wunused-command-line-argument-hard-error-in-future] clang:注意:这将是未来的硬错误(不能降级为警告) 错误:命令“cc”失败,退出状态为 1

【问题讨论】:

标签: python macos reportlab


【解决方案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 来编辑文件。
  3. 然后编辑此文件,从文件中搜索并删除开关 -mno-fused-madd。我发现它以“CFLAGS”开头,因为这是一个编译标志。 换行:

... -fwrapv -mno-fused-madd -DENABLE_DTRACE ... 到 ... -fwrapv -DENABLE_DTRACE ...

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

编辑:当您使用它时,删除 _sysconfigdata.pyc 和 _sysconfigdata.pyo 文件。

【讨论】:

    【解决方案2】:

    您仍然可以使用以下环境变量从 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]

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-04-18
      • 1970-01-01
      • 2014-04-14
      • 1970-01-01
      • 2014-05-07
      • 2014-11-24
      • 2014-05-26
      相关资源
      最近更新 更多