web-dev-qa-db-fra.com

Installation Ansible -clang: erreur: argument inconnu: '-mno-fused-madd'

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.

23
CreationTribe

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!

67
tino

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

6
Brendan Falkowski
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"
3
fbs