J'essaie d'installer Fabric, qui nécessite pycrypto. Pendant la construction de pycrypto, je reçois toujours une erreur "Broken Pipe". Je ne sais pas par où commencer pour résoudre le problème.
J'utilise Mac OS X Snow Leopard 10.6.6, toutes les mises à jour installées; Python 2.6.1; GCC 4.2; XCode 4 (dans le cas où GCC mis à jour)
L'erreur exacte est:
$ sudo python setup.py build
Password:
running build
running build_py
running build_ext
warning: GMP library not found; Not building Crypto.PublicKey._fastmath.
building 'Crypto.Hash.MD2' extension
gcc-4.2 -fno-strict-aliasing -fno-common -dynamic -fwrapv -Wall -Wstrict-prototypes -DENABLE_DTRACE -arch i386 -arch ppc -arch x86_64 -pipe -std=c99 -O3 -fomit-frame-pointer -Isrc/ -I/System/Library/Frameworks/Python.framework/Versions/2.6/include/python2.6 -c src/MD2.c -o build/temp.macosx-10.6-universal-2.6/src/MD2.o
/usr/libexec/gcc/powerpc-apple-darwin10/4.2.1/as: assembler (/usr/bin/../libexec/gcc/darwin/ppc/as or /usr/bin/../local/libexec/gcc/darwin/ppc/as) for architecture ppc not installed
Installed assemblers are:
/usr/bin/../libexec/gcc/darwin/x86_64/as for architecture x86_64
/usr/bin/../libexec/gcc/darwin/i386/as for architecture i386
src/MD2.c:134: fatal error: error writing to -: Broken pipe
compilation terminated.
lipo: can't open input file: /var/tmp//ccfADoXD.out (No such file or directory)
error: command 'gcc-4.2' failed with exit status 1
osx-snow-leopard
python
gcc
jlindenbaum
la source
la source
Réponses:
Il s'agit d'une meilleure solution qui fonctionne pour toutes les extensions Python C s'appuyant sur TOUTES les versions Python sur Mac OS X 10.6 utilisant XCode 4.
De cette façon, vous n'avez pas à fouiner avec les
setup.py
fichiers de toutes les extensions C que vous essayez de créer.la source
~/.zshrc
.Comme Tony l'a souligné, le problème est lié au PPC. XCode 4 a supprimé l'assembleur PPC. Les outils d'installation essaient de s'installer pour toutes les architectures par défaut, i386, ppc et x86_64.
J'ai ajouté ce code à mon setup.py pycrypto-2.3 à la ligne 122 et suivantes. Cela recherche les options du compilateur définies pour «ppc» et le supprime ainsi que l'instruction «-arch» précédente.
L'exécution de l'installation habituelle de sudo python setup.py sur le fichier modifié installé pycrypto sans problème.
C'est une solution de contournement terrible, mais devrait fonctionner pour l'instant jusqu'à ce que setuptools puisse mieux détecter que 10.6 avec XCode 4 n'a plus PPC comme architecture cible applicable. Les suggestions pour résoudre ce problème par dessus tout sont acceptées.
la source
Une autre option consiste à recopier les assembleurs ppc d'une version précédente de xcode. Il suffit de copier les dossiers ppc et ppc64 depuis l'emplacement
/usr/libexec/gcc/darwin/
Je reconnais que c'est aussi une solution de contournement terrible, mais cela a fonctionné pour moi!
la source