Donc, j'ai trouvé ici d'autres erreurs de clang qui semblent quelque peu similaires, cependant, les correctifs ne s'appliquent pas à ma situation.
J'utilise OSX Mavericks et nous essayons d'installer Ansible. J'ai obtenu pip pour installer correctement, mais lorsque j'essaie d'installer Ansible, j'obtiens cette erreur de clang. Nous pensions au début que cela pourrait être un problème de version, j'ai donc réinstallé gcc46 après avoir eu la même erreur avec gcc49, mais je reçois toujours l'erreur.
Est-ce que quelqu'un sait comment réparer ceci?
Mon rapport d'erreur complet à partir du fichier journal pip.log est le suivant:
cc -fno-strict-aliasing -fno-common -dynamic -Arch x86_64 -Arch i386 -pipe -fno-common -fno-strict-aliasing -fwrapv -mno-fused-madd -DENABLE_DTRACE -DMACOSX -Wall -Wstrict-prototypes -Wshorten-64-to-32 -fwrapv -Wall -Wstrict-prototypes -DENABLE_DTRACE -Arch x86_64 -Arch i386 -pipe -std=c99 -O3 -fomit-frame-pointer -Isrc/ -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c src/MD2.c -o build/temp.macosx-10.9-intel-2.7/src/MD2.o
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
error: command 'cc' failed with exit status 1
----------------------------------------
Cleaning up...
Removing temporary dir /private/tmp/pip_build_root...
Command /usr/bin/python -c "import setuptools, tokenize;__file__='/private/tmp/pip_build_root/pycrypto/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-_7evji-record/install-record.txt --single-version-externally-managed --compile failed with error code 1 in /private/tmp/pip_build_root/pycrypto
Exception information:
Traceback (most recent call last):
File "/Library/Python/2.7/site-packages/pip-1.5.4-py2.7.Egg/pip/basecommand.py", line 122, in main
status = self.run(options, args)
File "/Library/Python/2.7/site-packages/pip-1.5.4-py2.7.Egg/pip/commands/install.py", line 283, in run
requirement_set.install(install_options, global_options, root=options.root_path)
File "/Library/Python/2.7/site-packages/pip-1.5.4-py2.7.Egg/pip/req.py", line 1435, in install
requirement.install(install_options, global_options, *args, **kwargs)
File "/Library/Python/2.7/site-packages/pip-1.5.4-py2.7.Egg/pip/req.py", line 706, in install
cwd=self.source_dir, filter_stdout=self._filter_install, show_stdout=False)
File "/Library/Python/2.7/site-packages/pip-1.5.4-py2.7.Egg/pip/util.py", line 697, in call_subprocess
% (command_desc, proc.returncode, cwd))
InstallationError: Command /usr/bin/python -c "import setuptools, tokenize;__file__='/private/tmp/pip_build_root/pycrypto/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-_7evji-record/install-record.txt --single-version-externally-managed --compile failed with error code 1 in /private/tmp/pip_build_root/pycrypto
Merci à tous ceux qui peuvent m'aider. Nous avons passé les dernières heures à essayer de l'installer, et cela commence à devenir assez frustrant.
J'ai rencontré le même problème récemment en essayant d'installer un package différent.
La définition des variables d'environnement suivantes avant l'installation avec pip a résolu le problème pour moi:
export CFLAGS=-Qunused-arguments
export CPPFLAGS=-Qunused-arguments
Si vous installez via Sudo, n'oubliez pas d'utiliser "Sudo -E" pour que vos variables d'environnement se propagent via Sudo.
Si cela ne fonctionne pas pour vous, essayez plutôt la commande suivante:
ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future pip install ansible
Alternativement, comme encore une autre solution potentielle, vous pouvez essayer de recompiler une nouvelle version de python en utilisant Homebrew.
Voir cette question pour plus d'informations.
J'espère que cela t'aides!
Pour les débutants, qui ont lu et essayé le réponse ci-dessus mais qui ont toujours échoué (moi):
Sudo su - export CFLAGS=-Qunused-arguments export CPPFLAGS=-Qunused-arguments pip install ansible exit
Vous devez exécuter ces commandes export
en tant qu'utilisateur root. La réponse précédente le dit clairement, mais ce que cela signifiait en fait ne me correspondait pas en tant que novice terminal. Quelle Sudo su -
ne fait que basculer vers l'utilisateur root. Ensuite, toutes les commandes que vous tapez sont exécutées en tant que root, et cela fonctionne.
Cela m'a finalement permis de faire fonctionner Ansible sur OSX 10.9.2 après beaucoup de coups de tête.
Référence de la solution: https://github.com/ansible/ansible/issues/7146#issuecomment-41239561
ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future cc .....
ou
export ARCHFLAGS="-Wno-error=unused-command-line-argument-hard-error-in-future"