在 mac 上切换 gcc 版本
Posted
技术标签:
【中文标题】在 mac 上切换 gcc 版本【英文标题】:Switching gcc version on mac 【发布时间】:2012-01-26 23:12:47 【问题描述】:我安装了最新的 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 是 Apple GCC 编译器专用的功能。我想当我从 macports 安装一个端口时,我记得它安装了一个名为“llvm”的东西,现在我怀疑它正在被使用,而不是 XCODE 附带的那个。
有什么办法可以换回来吗?
哦,当我输入“sudo port select gcc”时,我得到了(这可能与知道我拥有哪个 gcc 版本有关):
Available versions for gcc:
apple-gcc42
gcc42
llvm-gcc42
mp-gcc44
mp-llvm-gcc42
none
【问题讨论】:
【参考方案1】:听起来你得到的是非苹果版本。如果您不需要任何非标准编译器,我会删除 macports 已安装的任何编译器。 Apple 的基础架构非常不同,使用 macports 的编译器很容易导致问题。
【讨论】:
【参考方案2】:这与您的问题不太相关,但您可以在这里找到解决方案:Can't install Ruby under Lion with RVM – GCC issues
此答案已多次编辑,现在包含三个替代解决方案。跳到最后,先尝试简单的“edit 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(显然是最简单的解决方案):或者,您可以尝试将 --with-gcc=clang 添加到参数以配置 Ruby 以使用 clang。
编辑 3: rvm install 1.9.3 --with-gcc=clang 为您执行此操作。
【讨论】:
以上是关于在 mac 上切换 gcc 版本的主要内容,如果未能解决你的问题,请参考以下文章
如何在 gcc 版本之间切换以在 manjaro linux 上使用 cudnn 5 加速(cuda 7.5)构建 torch7 或 caffe?