2011-08-08 11 views
5

AMFASTを依存ファイルに基づいてvirtual_envの場所にインストールしようとしています。私はローカルの.profileにexport ARCHFLAGS="-arch x86_64"を持っており、envを実行してその存在を確認しています。ただし、仮想環境を対象としたPIPを実行するたびに、gccはi386とppcをターゲットに設定されます。私はまた、PIPコマンドにenv ARCHFLAGS="-arch i386 -arch x86_64"env ARCHFLAGS="-arch x86_64"のプリペアを試みましたが、gccは常にフラグ-arch i386 -arch ppc -arch x86_64を持っています。 gccにアーチフラグを読み込ませるにはどうすればいいですか?Snow LeopardでGCCがARCHFLAGSを無視するのはなぜですか?

例:

sudo pip install -E ~/Documents/project/project_env -r ~/Documents/project/trunk/django/dependencies.txt` 

出力
...

Running setup.py install for amfast 
    building 'amfast.encode' extension 
    gcc-4.2 -fno-strict-aliasing -fno-common -dynamic -DNDEBUG -g -fwrapv -Os -Wall -Wstrict-prototypes -DENABLE_DTRACE -arch i386 -arch ppc -arch x86_64 -pipe -I/System/Library/Frameworks/Python.framework/Versions/2.6/include/python2.6 -c amfast/ext_src/encoder.c -o build/temp.macosx-10.6-universal-2.6/amfast/ext_src/encoder.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 
    amfast/ext_src/encoder.c:2121: fatal error: error writing to -: Broken pipe 
    compilation terminated. 
    lipo: can't open input file: /var/tmp//ccoYlfhN.out (No such file or directory) 
    error: command 'gcc-4.2' failed with exit status 1 
+0

は何アーチあなたのpythonである - ピップなど、セキュリティへの影響を気にしないならば、あなたは、/ etc /実行して、sudoersファイル「のsudo visudoをに行を追加することができます – Mark

答えて

14

ほとんどの問題はARCHFLAGS環境変数がsudoが通過されていないことです。デフォルトでは、sudoの一部のバージョンでは、セキュリティ対策としてほとんどのenv変数が除外されています(man sudo参照)。このようにそれを実行してみてください:

sudo ARCHFLAGS="-arch x86_64" pip install -E ~/Documents/project/project_env -r ~/Documents/project/trunk/django/dependencies.txt` 
+1

ていることにピックアップしますenv_keep + = "..."の行の後に、デフォルトのenv_keep + = "ARCHFLAGS"行を追加します。このようにして、ARCHFLAGSはsudoによって保存されます。 – blootsvoets

関連する問題