在OS X 10.6上安装rpy2时出现错误:无法执行gcc-4.0。

3

我正在尝试使用pip安装rpy2:

    $ sudo pip install rpy2

这会导致错误退出:

    gcc-4.0 -fno-strict-aliasing -fno-common -dynamic -arch ppc -arch i386 -g -O2 -DNDEBUG -g -O3 -DR_INTERFACE_PTRS=1 -DHAVE_POSIX_SIGJMP=1 -DCSTACK_DEFNS=1 -DRIF_HAS_RSIGHAND=1 -I./rpy/rinterface -I/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -I/opt/local/lib/R/include/x86_64 -I/opt/local/lib/R/include -c ./rpy/rinterface/_rinterface.c -o build/temp.macosx-10.3-fat-2.7/./rpy/rinterface/_rinterface.o

    unable to execute gcc-4.0: No such file or directory

    error: command 'gcc-4.0' failed with exit status 1

我曾尝试使用macports安装rpy2,但安装完成后无法导入rpy2。我已经安装了XCode,版本为4.0.2 Build 4A2002a,并且安装了gcc。

    $ which gcc

返回:

    /usr/bin/gcc

并且

    $ gcc

返回:

    i686-apple-darwin10-gcc-4.2.1: no input files

看起来它正在寻找一个较旧的gcc版本,我不知道如何将其指向正确的位置。非常感谢任何帮助。

4个回答

1

看起来它认为你正在使用OSX 10.3:build/temp.macosx-10.3,这可能是它尝试查找旧的gcc编译器的原因。

你应该能够通过CC环境变量覆盖编译器:

export CC=gcc 
pip install rpy2

我认为这是一个典型的distutils问题


谢谢你的帮助。我按照你提供的链接,跳转到了这里:https://dev59.com/QVfUa4cB1Zd3GeqPEhYm#5968410。但是,我无法让它起作用。在Python环境中,我得到了以下结果: >>> from distutils import sysconfig >>> sysconfig.get_config_var('LDSHARED') 'gcc-4.0 -bundle -undefined dynamic_lookup -arch ppc -arch i386 -g' >>> sysconfig.get_config_var('CC') 'gcc-4.0'(抱歉,格式似乎无法正常显示),但我似乎无法更改“CC”变量。 - user865819

0

一个想法是将gcc-4.0指向默认的gcc标志:

sudo ln -s /usr/bin/gcc /usr/bin/gcc-4.0


0

::黑客警告::

这可能会导致将来其他问题的出现,但如果您认为编译rpy2的gcc版本没有影响,您可以创建一个名为/usr/bin/gcc-4.0的符号链接,指向/usr/bin/gcc,然后再尝试pip安装。


0
如果有帮助的话,我用符号链接解决了这个问题,我认为它也适用于你。我是以我的gcc版本4.2为基础编写的:
cd /usr/bin
rm cc gcc c++ 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++
ln -s gcc-4.2 gcc-4.0

搞定了!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接