J'essaie actuellement d'installer pycrypto et lorsque j'exécute python build.py build, je reçois l'erreur suivante:
cc -bundle -undefined dynamic_lookup -Arch x86_64 -Arch i386 -Wl,-F. build/temp.macosx-10.9-intel-2.7/src/_fastmath.o -lgmp -o build/lib.macosx-10.9-intel-2.7/Crypto/PublicKey/_fastmath.so
ld: illegal text-relocation to '___gmp_binvert_limb_table' in /usr/local/lib/libgmp.a(mp_minv_tab.o) from '___gmpn_divexact_1' in /usr/local/lib/libgmp.a(dive_1.o) for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
error: command 'cc' failed with exit status 1
J'ai déjà essayé de réinstaller les outils de ligne de commande et de supprimer les anciennes instances de Xcode.
Toute aide serait formidable merci
Cela a fonctionné pour moi. (Devrait fonctionner si vous êtes sur Xcode 5.1)
ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future pip install pycrypto
Cela l'a fait pour moi:
Sudo port install gmp
Sudo ln -s /opt/local/lib/libgmp.dylib /usr/lib/libgmp.dylib
ARCHFLAGS=-Wno-error CFLAGS=-I/opt/local/include Sudo -E pip install pycrypto
Sur Yosemite:
CC=clang Sudo -E pip install pycrypto
J'ai rencontré le même problème et j'ai pu le résoudre en installant gmp:
brew install gmp
Ensuite, j'ai supprimé mon répertoire de construction et recommencé avec l'installation de pycrypto et cela a réussi.
Cela corrige également le message d'avertissement pendant le script de configuration de pycrypto:
warning: GMP or MPIR library not found; Not building Crypto.PublickKey._fastmath
Voir question connexe .
Cela fonctionne sur Mojave et est meilleur IMO que les autres options présentées: brew install gmp CFLAGS=-I/usr/local/include \ LDFLAGS=-L/usr/local/Cellar/gmp/6.1.2_2/lib \ pip install pycrypto
J'ai remarqué récemment que j'avais besoin de brew pour installer gmp pour que py installation de pycrypto fonctionne à nouveau après la mise à niveau d'OSX 10.9 et Xcode 5. Mais alors la construction de gmp a commencé à échouer sur la délocalisation de texte illégale. Il semble n problème connu 12946 provoque l'échec du compilateur lors de la compilation du code indépendant de la position:
cc -bundle -undefined dynamic_lookup -Wl, -F. -Wno-error = argument-de-ligne-de-commande-non-hard-error-in-future -Wno-error = argument-de-ligne-de-commande-non-hard-error-in-future build/temp.macosx-10.9-intel- 2.7/src/_fastmath.o -lgmp -o build/lib.macosx-10.9-intel-2.7/Crypto/PublicKey/_fastmath.so
ld: transfert de texte illégal vers '___gmp_binvert_limb_table' dans /usr/local/lib/libgmp.a(mp_minv_tab.o) depuis '___gmpn_divexact_1' dans /usr/local/lib/libgmp.a(dive_1.o) pour l'architecture x86_64
clang: erreur: la commande de l'éditeur de liens a échoué avec le code de sortie 1 (utilisez -v pour voir l'invocation)
erreur: la commande "cc" a échoué avec l'état de sortie 1
Similaire à la réponse fournie par radiofréquence J'ai lié la bibliothèque partagée de gmp dans le répertoire/usr/lib du système comme solution:
Sudo ln -s /usr/local/Cellar/gmp/5.1.3/lib/libgmp.dylib /usr/lib/libgmp.dylib
Le développeur gmp devrait ajouter --with-pic.
Point secondaire: le nombre d'avertissements de construction de pycrypto n'apporte pas de confort.
sur El Capitan, je viens de faire ça ...
Sudo easy_install livestreamer
Sudo easy_install PyCrypto
et voila ... Je peux maintenant enregistrer des flux sur mon disque dur.
Installer homebrew (ligne unique pour l'installation en bas de page), puis essayez:
$ Sudo pip install pycrypto
Pour l'installation de PyCrypto, utilisez MacPorts et la commande suivante. Je l'ai testé sur la dernière version de Mac OS X - Yosemite:
Python version 2.7:
Sudo port install py27-crypto
Python version 3.4:
Sudo port install py34-crypto
Pour ceux d'entre vous qui cherchent également à installer pycrypto ainsi que le package de cryptographie, voici la commande qui a fini par fonctionner pour moi:
env ARCHFLAGS="-Arch x86_64" LDFLAGS="-L/usr/local/opt/openssl/lib" CFLAGS="-I/usr/local/opt/openssl/include" pip install cryptography
Je suis un nouveau venu en python; J'ai également rencontré ce problème; et ça m'a contrarié. Aucune des solutions publiées n'a fonctionné pour moi, j'ai donc archivé libgmp.a
et libgmp.la
temporairement et pip
puis installé Crypto
sans erreur. Est-ce une approche acceptable? J'ai non comprendre pourquoi cela a fonctionné ...
C'est la seule chose qui a fonctionné pour moi sur Mac/El Capitan:
Sudo easy_install -U livestreamer
Si je ne me trompe pas, pip et homebrew sont tous deux des gestionnaires de paquets, mais homebrew est construit sur Ruby et pip est construit sur python.
$ Sudo pip install pycrypto
Cette commande que vous avez mentionnée doit être installée par pip, et non par homebrew.