web-dev-qa-db-fra.com

Essayer d'installer pycrypto sur Mac OSX mavericks

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

18
user1798733

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
34
domino

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
11
radiofrequency

Sur Yosemite:

CC=clang Sudo -E pip install pycrypto
7
Chris Hiszpanski

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 .

6
Chris Eldredge

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

3
manimaul

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.

2
bbaassssiiee

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.

1
GCU

Installer homebrew (ligne unique pour l'installation en bas de page), puis essayez:

$ Sudo pip install pycrypto
0
einnocent

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
0
Safronus

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

0
Nick Woodhams

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é ...

0
Mullefa

C'est la seule chose qui a fonctionné pour moi sur Mac/El Capitan:

Sudo easy_install -U livestreamer

0
chovy

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.

De cette façon pour obtenir pip

0
Guto Hernandes