我使用的系统在/ usr / local / bin / gcc中有GCC 4.5(实验性),已经证明对某些R包有问题。我想在/ usr / bin / gcc中使用系统GCC。
我尝试在Bash配置文件(.bashrc,.bash_profile等)以及命令行中设置CC和CXX,但是虽然Bash识别出更改,但R没有。
如何让R在/ usr / bin中使用GCC版本而不是/ usr / local / bin /中的版本?
答案 0 :(得分:33)
这不是很好的记录(例如我现在无法在'R Extension'或'R Admin'中找到它),但Brian Ripley在列表中提到了几次。
基本上,在R编译时,设置被注册并存储在$R_HOME/etc/Makeconf
中。一种可能性是直接编辑该文件,但您可能没有root权限,或者可能不想影响所有其他用户。所以最好是创建
~/.R/Makevars
带条目
CC=gcc-4.4
CXX=g++-4.4
加上您想要设置的任何验证标志等。这将影响您运行的R CMD INSTALL
或R CMD check
或......的所有后续使用。
$R_HOME/etc/
中的其他文件同样可以从~/.R/
本地覆盖。
答案 1 :(得分:2)
我有一个非常类似的问题。
对我来说有用的是定义一个项目目录(rstudio可以为你做这个),然后添加一个修改PATH和LD_LIBRARY_PATH的.Renviron
文件,以包含带有新gcc的目录。
例如,在您的情况下,.Renviron
将类似于:
LD_LIBRARY_PATH=/usr/local/bin/gcc/lib:/usr/local/bin/gcc/lib64:/usr/local/bin/gcc/libexec:
其他路径
PATH=/usr/local/bin/gcc/bin:/usr/local/bin:
其他路径
答案 2 :(得分:0)
检查您的路径,查看/ usr / local / bin是否在/ usr / bin之前。如果是这样,只需确保/ usr / bin是第一个:
PATH=/usr/bin:${PATH}
(如果/ usr / bin重复出现两次就可以了。)
答案 3 :(得分:0)
查看configure.args
的{{1}}部分,并将其与?install.packages
进行比较,例如r源代码树。
您还可以通过bash ./configure --help
。
HTH