在Mac上切换gcc版本
我安装了最新的XCode(4D199),在终端里输入
new-host-2: me$ gcc -version
i686-apple-darwin11-llvm-gcc-4.2: no input files
这是不是默认的xcode/mac gcc编译器版本?因为当我尝试做一个
sudo easy_install cython
时,我得到了:
Running Cython-0.15.1/setup.py -q bdist_egg --dist-dir /tmp/easy_install-qS3Kqb/Cython-0.15.1/egg-dist-tmp-Zh0Vnv
cc1: error: unrecognized command line option "-arch"
cc1: error: unrecognized command line option "-arch"
我看到有人说 -arch 是苹果GCC编译器特有的功能。我记得我从macports安装了一个东西,叫做“llvm”,现在我怀疑它可能被用来替代XCODE自带的编译器。
有没有办法切换回去?
哦,当我输入“sudo port select gcc”时,我得到了(这可能和我使用的gcc版本有关):
Available versions for gcc:
apple-gcc42
gcc42
llvm-gcc42
mp-gcc44
mp-llvm-gcc42
none
2 个回答
这和你的问题不完全相关,但你可以在这里找到解决办法:在Lion下用RVM安装Ruby时遇到GCC问题
这个回答经过多次编辑,现在提供了三种不同的解决方案。你可以直接跳到最后,先试试简单的“编辑3”方案,这个方法对大多数人都有效。你需要一个非LLVM版本的GCC,但这个版本在XCode 4.2中不再包含。你可以自己安装(或者暂时降级到XCode 4.1),然后运行 CC=/usr/local/bin/gcc-4.2 rvm install 1.9.3(记得把路径换成你自己的非LLVM gcc的路径)。
补充:https://github.com/kennethreitz/osx-gcc-installer/downloads 可能会帮助你安装GCC。
补充2(显然是最简单的解决方案):你也可以尝试在配置Ruby时添加 --with-gcc=clang 的参数,让Ruby使用clang。
补充3:运行 rvm install 1.9.3 --with-gcc=clang 就可以帮你完成这个操作。
听起来你可能装的是非苹果版本的东西。如果你不需要那些特别的编译器,我建议你把macports安装的那些删掉。因为苹果的系统和其他的系统差别挺大的,使用macports的编译器很容易会遇到麻烦。