安装scikit:找不到gcc-4.2,而是使用Clang

时间:2012-12-05 13:32:15

标签: python gcc clang llvm-gcc

当我尝试在我的Mac(OS X Lion)上安装scikit时,我偶然发现了这个错误:

  

未找到gcc-4.2,而是使用clang。

我搜索了如何修复此问题以及it seems未正确设置环境变量CC。我现在的问题是,我怎样才能改变这个以及我有什么要改变它?在我的/usr/lib/中,我确实看到了g ++,gcc,llvm-g ++ - 4.2和llvm-gcc-4.2可执行文件。另外,当我检查env时,我看不到CC变量。即使我尝试导出CC = gcc,我也不会使用env命令看到它。

3 个答案:

答案 0 :(得分:2)

有多种方法可以做到这一点:

  1. 如果您使用make编译源代码,请使用以下命令:

    make CC=/path/to/gcc CXX=path/to/g++ 
    make CC=/path/to/gcc CXX=path/to/g++ install 
    etc.
    
  2. 您可以通过以下方式永久更改默认编译器:

    cd /usr/bin
    rm cc c++ gcc g++
    ln -s gcc-4.2 cc
    ln -s gcc-4.2 gcc
    ln -s c++-4.2 c++
    ln -s g++-4.2 g++
    
  3. 你也应该尝试clang - 它一点也不差,并且在很多情况下已知产生与gcc相当或更优化的程序。

答案 1 :(得分:1)

如果scikits 显式地寻找gcc-4.2,听起来它在设置过程中是硬编码的(坏主意i.m.o。)。

然后我会选择符号链接解决方案;与我的评论或Ramneek的答案略有不同,但几乎相同:

sudo ln -s /usr/bin/llvm-gcc-4.2 /usr/bin/gcc-4.2

答案 2 :(得分:0)

gcc这样不应该在/usr/lib/中,而且(也)在/usr/bin/中。 /usr/lib/中的那些是子目录,/usr/bin/中的那些是可执行文件。

很可能你在这些子目录中有库,但不是实际的可执行文件和头文件。

您是否在安装XCode期间安装了命令行工具?

相关问题