Saya mencoba menginstal Fabric, yang membutuhkan pycrypto. Selama membangun untuk pycrypto saya selalu menerima kesalahan "Pipa Rusak". Saya tidak tahu harus mulai dari mana memperbaiki masalah.
Saya menjalankan Mac OS X Snow Leopard 10.6.6, semua pembaruan diinstal; Python 2.6.1; GCC 4.2; XCode 4 (dalam kasus yang memperbarui GCC)
Kesalahan sebenarnya adalah:
$ 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
sumber
sumber
Jawaban:
Ini adalah solusi yang lebih baik yang berfungsi untuk semua pengembangan ekstensi Python C pada SEMUA versi Python pada Mac OS X 10.6 menggunakan XCode 4.
Dengan cara ini Anda tidak perlu berkutat dengan semua
setup.py
file untuk semua ekstensi C yang Anda coba bangun.sumber
~/.zshrc
.Seperti yang ditunjukkan Tony, masalahnya adalah terkait PPC. XCode 4 menghapus assembler PPC. Alat pengaturan mencoba menginstal untuk semua arsitektur secara default, i386, ppc dan x86_64.
Saya menambahkan kode ini ke setup.py pycrypto-2.3 saya di baris 122 dan berikut. Ini mencari opsi kompilator set untuk 'ppc' dan menghapusnya dan instruksi '-arch' sebelumnya.
Menjalankan sudo python setup.py menginstal pada file yang dimodifikasi menginstal pycrypto tanpa masalah.
Ini adalah solusi yang mengerikan, tetapi harus bekerja untuk saat ini hingga setuptools dapat mendeteksi dengan lebih baik bahwa 10.6 dengan XCode 4 tidak lagi memiliki PPC sebagai arsitektur target yang berlaku. Saran untuk memperbaiki masalah ini diterima semua.
sumber
Pilihan lain adalah menyalin kembali perakit ppc dari versi xcode sebelumnya. Anda hanya perlu menyalin folder ppc dan ppc64 dari lokasi
/usr/libexec/gcc/darwin/
Saya menyadari bahwa itu juga merupakan solusi yang mengerikan, tetapi itu berhasil bagi saya!
sumber