我正在尝试在狮子座上安装cython,但这就是我得到的:
$ export CC=gcc-4.2
$ gcc --version
i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2335.15.00)
$ python setup.py install
error: command 'gcc-4.2' failed with exit status 255
我不确定llvm-gcc是对的,我安装了Xcode4.1但是它仍然没有用。
任何人都知道如何解决这个问题?
答案 0 :(得分:7)
您至少需要调整PATH和LD_LIBRARY_PATH环境变量。
PATH环境变量还需要包含/Developer/usr/bin
。
我写了一个〜/ .bash_devenv文件,每当我想在2010年中期的Mac Pro上编译C代码时我都会使用它来源(从Snow Leopard升级到Lion到Lion Server)。
$ cat ~/.bash_devenv
ARCHFLAGS="-isysroot /Developer/SDKs/MacOSX10.7.sdk -mmacosx-version-min=10.7"
LDFLAGS="-L/Developer/SDKs/MacOSX10.7.sdk/usr/lib -L/usr/lib"
CFLAGS="-I/Developer/SDKs/MacOSX10.7.sdk/usr/include -I/usr/include -O2 -pipe -fomit-frame-pointer"
CPPFLAGS="-I/usr/include/ -I/Developer/SDKs/MacOSX10.7.sdk/usr/include"
LD_LIBRARY_PATH="/Developer/SDKs/MacOSX10.7.sdk/usr/lib/gcc/i686-apple-darwin11/4.2.1/x86_64/:$LD_LIBRARY_PATH"
case $1 in
32)
export LDFLAGS="-arch i386 -arch x86_64 $LDFLAGS"
export FFLAGS="-m i386 -m x86_64"
export CFLAGS="-arch i386 -arch x86_64 $CFLAGS"
export CPPFLAGS="-arch i386 -arch x86_64 $CPPFLAGS"
export LD_LIBRARY_PATH="/Developer/SDKs/MacOSX10.7.sdk/usr/lib/gcc/i686-apple-darwin11/4.2.1/:$LD_LIBRARY_PATH"
;;
64)
export LDFLAGS="-arch x86_64 $LDFLAGS"
export FFLAGS="-m x86_64"
export CFLAGS="-arch x86_64 $CFLAGS"
export CPPFLAGS="$CPPFLAGS"
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/Developer/SDKs/MacOSX10.7.sdk/usr/lib/gcc/i686-apple-darwin11/4.2.1/"
;;
*)
export LDFLAGS="$LDFLAGS"
export FFLAGS="-m x86_64"
export CFLAGS="-L/Developer/SDKs/MacOSX10.7.sdk/usr/lib -L/usr/lib -arch x86_64 $CFLAGS"
export CPPFLAGS="$CPPFLAGS"
export LD_LIBRARY_PATH="/usr/lib:/Developer/SDKs/MacOSX10.7.sdk/usr/lib:$LD_LIBRARY_PATH"
;;
esac
### GLOBALS ###
export PATH="/Developer/usr/bin:/Developer/usr/local/bin:$PATH"
某些CFLAGS可能是冗余的(-I / path / to / dir指令),但它应该主要与运行Lion和XCode的任何机器相关。
我刚刚在Lion上成功编译了Cython。它失败了,在我之前:
1)输入命令source ~/.bash_devenv
2)使用我手动编译的Python的自定义版本。因为cython编译因默认安装Python而失败,因为它无法找到Python.h。如果您知道在哪里可以找到系统Python.h并且想要使用系统Python(如果您想构建自己的numpy或其他库,则不推荐),将包含Python.h的目录添加到CPPFLAGS;例如CPPFLAGS+=" -I/usr/local/include"
。
或者,下载Enthought的Python发行版,其中包括cython,以及许多其他有用的库,包括他们在内部开发的开源代码(cwrap是我所知道的一个模块,并且设计用于工作与cython一起参与。)
安全
答案 1 :(得分:0)
sudo CC = llvm-gcc-4.2 python setup.py install
对我来说很好!发现它
http://comments.gmane.org/gmane.comp.python.cython.user/8461
最佳!