clang: error: неизвестный аргумент: '-mno-fused-madd'

Я получаю следующую ошибку, пытающуюся установить Scrapy в ОС Mavericks.

У меня есть инструменты командной строки и установлен X11. Я не знаю, что происходит, и я не нашел ту же самую ошибку при просмотре через Интернет. Я думаю, это может быть связано с некоторыми изменениями в Xcode 5.1

Спасибо за ответы!

это часть вывода команды:

$ pip install scrapy


. . . . Downloading/unpacking cryptography>=0.2.1 (from pyOpenSSL->scrapy) Downloading cryptography-0.3.tar.gz (208kB): 208kB downloaded Running setup.py egg_info for package cryptography OS/X: confusion between 'cc' versus 'gcc' (see issue 123) will not use '__thread' in the C code clang: error: unknown argument: '-mno-fused-madd' [-Wunused-command-line-argument-hard-error-in-future] clang: note: this will be a hard error (cannot be downgraded to a warning) in the future Traceback (most recent call last): File "<string>", line 16, in <module> File "/Users/agonzamart/.virtualenvs/Parser/build/cryptography/setup.py", line 156, in <module> "test": PyTest, File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/core.py", line 112, in setup _setup_distribution = dist = klass(attrs) File "/Users/agonzamart/.virtualenvs/Parser/lib/python2.7/site-packages/setuptools/dist.py", line 265, in __init__ self.fetch_build_eggs(attrs.pop('setup_requires')) File "/Users/agonzamart/.virtualenvs/Parser/lib/python2.7/site-packages/setuptools/dist.py", line 289, in fetch_build_eggs parse_requirements(requires), installer=self.fetch_build_egg File "/Users/agonzamart/.virtualenvs/Parser/lib/python2.7/site-packages/pkg_resources.py", line 618, in resolve dist = best[req.key] = env.best_match(req, self, installer) File "/Users/agonzamart/.virtualenvs/Parser/lib/python2.7/site-packages/pkg_resources.py", line 862, in best_match return self.obtain(req, installer) # try and download/install File "/Users/agonzamart/.virtualenvs/Parser/lib/python2.7/site-packages/pkg_resources.py", line 874, in obtain return installer(requirement) File "/Users/agonzamart/.virtualenvs/Parser/lib/python2.7/site-packages/setuptools/dist.py", line 339, in fetch_build_egg return cmd.easy_install(req) File "/Users/agonzamart/.virtualenvs/Parser/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 623, in easy_install return self.install_item(spec, dist.location, tmpdir, deps) File "/Users/agonzamart/.virtualenvs/Parser/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 653, in install_item dists = self.install_eggs(spec, download, tmpdir) File "/Users/agonzamart/.virtualenvs/Parser/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 849, in install_eggs return self.build_and_install(setup_script, setup_base) File "/Users/agonzamart/.virtualenvs/Parser/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 1130, in build_and_install self.run_setup(setup_script, setup_base, args) File "/Users/agonzamart/.virtualenvs/Parser/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 1118, in run_setup raise DistutilsError("Setup script exited with %s" % (v.args[0],)) distutils.errors.DistutilsError: Setup script exited with error: command 'cc' failed with exit status 1 Complete output from command python setup.py egg_info: OS/X: confusion between 'cc' versus 'gcc' (see issue 123) will not use '__thread' in the C code clang: error: unknown argument: '-mno-fused-madd' [-Wunused-command-line-argument-hard-error-in-future] clang: note: this will be a hard error (cannot be downgraded to a warning) in the future Traceback (most recent call last): File "<string>", line 16, in <module> File "/Users/agonzamart/.virtualenvs/Parser/build/cryptography/setup.py", line 156, in <module> "test": PyTest, File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/core.py", line 112, in setup _setup_distribution = dist = klass(attrs) File "/Users/agonzamart/.virtualenvs/Parser/lib/python2.7/site-packages/setuptools/dist.py", line 265, in __init__ self.fetch_build_eggs(attrs.pop('setup_requires')) File "/Users/agonzamart/.virtualenvs/Parser/lib/python2.7/site-packages/setuptools/dist.py", line 289, in fetch_build_eggs parse_requirements(requires), installer=self.fetch_build_egg File "/Users/agonzamart/.virtualenvs/Parser/lib/python2.7/site-packages/pkg_resources.py", line 618, in resolve dist = best[req.key] = env.best_match(req, self, installer) File "/Users/agonzamart/.virtualenvs/Parser/lib/python2.7/site-packages/pkg_resources.py", line 862, in best_match return self.obtain(req, installer) # try and download/install File "/Users/agonzamart/.virtualenvs/Parser/lib/python2.7/site-packages/pkg_resources.py", line 874, in obtain return installer(requirement) File "/Users/agonzamart/.virtualenvs/Parser/lib/python2.7/site-packages/setuptools/dist.py", line 339, in fetch_build_egg return cmd.easy_install(req) File "/Users/agonzamart/.virtualenvs/Parser/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 623, in easy_install return self.install_item(spec, dist.location, tmpdir, deps) File "/Users/agonzamart/.virtualenvs/Parser/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 653, in install_item dists = self.install_eggs(spec, download, tmpdir) File "/Users/agonzamart/.virtualenvs/Parser/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 849, in install_eggs return self.build_and_install(setup_script, setup_base) File "/Users/agonzamart/.virtualenvs/Parser/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 1130, in build_and_install self.run_setup(setup_script, setup_base, args) File "/Users/agonzamart/.virtualenvs/Parser/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 1118, in run_setup raise DistutilsError("Setup script exited with %s" % (v.args[0],)) distutils.errors.DistutilsError: Setup script exited with error: command 'cc' failed with exit status 1 ---------------------------------------- Cleaning up... Command python setup.py egg_info failed with error code 1 in /Users/agonzamart/.virtualenvs/Parser/build/cryptography 

  • Ошибка «cc» с ошибкой «exit status 1» при установке библиотеки python
  • 4 Solutions collect form web for “clang: error: неизвестный аргумент: '-mno-fused-madd'”

    Это связано с изменением значений по умолчанию clang в Xcode 5.1 и Apple не заметила, что он сломает сборки модуля расширения с помощью системы Python. Одним из способов является определение следующих переменных среды:

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

    UPDATE [2014-05-16]: Как и ожидалось, Apple исправила эту проблему с обновленной системой Pythons (2.7, 2.6 и 2.5) в OS X 10.9.3 поэтому обходной путь больше не нужен при использовании последних версий Mavericks и Xcode 5.1+ . Однако на данный момент обходной путь по-прежнему необходим для OS X 10.8.x (Mountain Lion, в настоящее время 10.8.5), если вы используете Xcode 5.1+ там.

    Последняя версия clang поднялась до уровня ошибки, что раньше было предупреждением. Чтобы вернуться назад, вы можете удалить это поведение в строке прямо перед запуском вашей команды установки:

     ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future pip install <your package> 

    Это должно работать, но на случай, если что-то пойдет не так, есть дополнительная информация: clang error: неизвестный аргумент: '-mno-fused-madd' (ошибка установки пакета python)

    Если решение Ned не работает

     sudo vi /System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/_sysconfigdata.py 

    Удалите все ошибки -mno-fused-madd, сохраните, и он должен работать.

    На самом деле ответы Неда и Дориана связаны:

    • Удаление -mno-fused-madd из _sysconfigdata.py предотвращает передачу флагов компилятору.
    • Установка переменных среды сообщает компилятору игнорировать флаги, но флаги все еще передаются. Это может сломаться в будущей версии Xcode.

    Я просто потратил DAYS на борьбу с этой проблемой в разных пакетах и, будучи новичком Python, не мог понять, откуда появились флаги. Дополняя ответ Дориана, Xcode 5 поддерживает только компилятор Apple Clang, а не GCC, но дистрибутив Python, который поставляется с Mavericks, по-видимому, был построен с GCC. Файл _sysconfigdata.py содержит флаги, которые использовались для создания интерпретатора Python, и эти флаги используются системой сборки Python различными проектами. Поэтому любой проект, использующий систему сборки Python, использует флаги, которые не совместимы с установленным компилятором.

    Я установил python с помощью Homebrew (который помещает его в / usr / local / Cellar и использует мою установку apple-gcc42 также в / usr / local / Cellar) и обнаружил, что установленный _sysconfigdata.py содержит разумные флаги. Тем не менее, он все еще использует GCC. Вы можете просто создать Python из источников самостоятельно, используя clang. Я думаю, что редактирование флагов в _sysconfigdata.py – лучший способ избежать повторения этой проблемы.

    Также удалите _sysconfigdata.pyc и _sysconfigdata.pyo.

    Это также рассматривается в следующих потоках:

    clang error: неизвестный аргумент: '-mno-fused-madd' (ошибка установки пакета python) https://discussions.apple.com/thread/5465305

    Python - лучший язык программирования в мире.