2011-03-20 41 views
18

Xcode4下降PPC的支持,所以,当我尝试建立公益诉讼,它抛出恨:在OS X雪豹安装PIL W/Xcode4(不PPC支持)

Bens-MacBook-Air:Imaging-1.1.7 bkeating$ python setup.py build 
running buildrunning build_pyrunning build_ext 
--- using frameworks at /System/Library/Frameworks 
building '_imaging' extension 
/usr/bin/gcc-4.0 -fno-strict-aliasing -fno-common -dynamic -DNDEBUG -g -fwrapv -Os -Wall -Wstrict-prototypes -DENABLE_DTRACE -arch i386 -arch ppc -arch x86_64 -pipe -DHAVE_LIBJPEG -DHAVE_LIBZ -I/System/Library/Frameworks/Tcl.framework/Headers -I/System/Library/Frameworks/Tk.framework/Headers -I/usr/local/include/freetype2 -IlibImaging -I/System/Library/Frameworks/Python.framework/Versions/2.6/include -I/usr/local/include -I/usr/include -I/System/Library/Frameworks/Python.framework/Versions/2.6/include/python2.6 -c decode.c -o build/temp.macosx-10.6-universal-2.6/decode.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 
decode.c:688: fatal error: error writing to -: Broken pipe 
compilation terminated. 
lipo: can't open input file: /var/folders/jW/jW0VkC8uEb4lAjcJou+OaU+++TI/-Tmp-//ccEmCpUp.out (No such file or directory) 
error: command '/usr/bin/gcc-4.0' failed with exit status 1 

我跑了第一线,手动,和删除了-arch ppc选项,它没有报告任何错误,但重新运行构建过程将忽略此手动尝试。 `gcc-4.0也不存在,我将它链接到gcc-4.2。

我可以继续安装Xcode3,然后安装4,但我想搞清楚我的全新安装。

无论如何告诉PIL不能编译为PPC?我在整个发行版中做了一个grep,但是我没有发现PPC。有任何想法吗?

+5

解决方案:解决方案与PIL无关,而是设置gcc的ARCHFLAGS。例如。 ''ARCHFLAGS =“ - arch i386 -arch x86_64”sudo pip install PIL''。 – Flowpoke 2011-03-20 06:23:04

+5

你应该说这是一个答案。你被允许/鼓励回答你自己的问题(如果你真的给出答案的话)。 – 2011-03-20 07:23:33

+0

虽然我没有得到任何错误使用这个命令行,它说成功我得到“ImportError:没有名为PIL模块”与所有脚本 – Bastian 2011-03-23 23:23:03

回答

39

解决方案无关,与PIL而是设置gcc的ARCHFLAGS:

ARCHFLAGS="-arch i386 -arch x86_64" sudo pip install PIL 
+11

而不是写“解决”,只需点击答案旁边的复选标记为您解决了问题。 – MatrixFrog 2011-03-20 17:40:49

1

只是为了帮助别人...... 我不得不使用ARCHFLAGS =“ - 拱x86_64的”建设成像与我一雪前豹/ XCode 4系统,即在他们的“-arch i386”停止它为我工作。

16

ARCHFLAGS似乎不会传入sudo。我不得不这样做

sudo -s 

然后ARCHFLAGS="-arch i386 -arch x86_64" pip install PIL ,使其工作。

+0

我想你可以'''sudo ARCHFLAGS =“ - arch i386 -arch x86_64”pip install PIL'''? – gawbul 2014-02-13 17:08:37

14

一个更好的办法来解决这个问题,在我看来,将是编辑〜/ .profile文件或/ etc/.bashrc中,并添加一行:

export ARCHFLAGS="-arch i386 -arch x86_64" 

将保存的任何将来的安装乱搞(我只需要在CPAN中安装大量的Perl模块就可以做到这一点)!

+0

是的,这是现在在我的.bash_profile和工作的一种享受。 – 2011-06-25 15:29:04

+1

+1,为我工作。 @Steve,我目前不使用Xcode,但是在设置这个环境变量(并且忘记我做了)并且后来使用Xcode用于iOS开发方面有缺点吗?或者Xcode显式重写这个变量? – brainjam 2011-06-28 16:21:08

+0

据我所知,还不够?我认为这是从较旧的OS X版本(支持PPC)升级到较新的版本(例如Snow Leopard或Lion)以及也许使用新的XCode的问题?我有一个新的雪豹安装,并已升级到狮子,并没有这个问题! – gawbul 2011-07-07 08:41:35