質問: python 2.6.1、pycrypto 2.3 pypiパッケージ:ビルド中の「壊れたパイプ」 pycryptoを必要とするfabricをインストールしようとしています。 pycryptoのビルド中に、常に「パイプの破損」エラーが発生します。問題の解決をどこから始めればよいのかわかりません。mac os x snow leopard 10.6.6を実行しており、すべてのアップデートがインストールされています。 python 2.6.1; gcc 4.2; xcode 4(gccを更新した場合)正確なエラーは次のとおりです。$ 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
回答: tonyが指摘したように、この問題はppc関連です。xcode4はppcアセンブラーを削除しました。セットアップツールは、デフォルトですべてのアーキテクチャ、i386、ppc、およびx86_64。このコードをpycrypto-2.3setup.pyの122行目以降に追加しました。これにより、設定されたコンパイラオプションで「ppc」が検索され、それと前の「-arch」命令が削除されます。 # removing ppc flag from compiler options index = self.compiler.compiler_so.index('ppc') del self.compiler.compiler_so[index] del self.compiler.compiler_so[index-1] 通常のsudo python setup.py installを、変更されたファイルにインストールされたpycryptoに問題なく実行します。これはひどい回避策ですが、setuptoolsがxcode4を使用した10.6に適用可能なターゲットアーキテクチャとしてppcがないことをより適切に検出できるようになるまでは今のところ機能するはずです。この問題を修正するための提案すべて受け入れられます。