我在RHEL7机器上安装了RStudio Server的开源版本。由于我需要安装需要比提供的版本(4.8.5)更新的 gcc/g++ 版本的 R 包,因此我通过红帽开发人员工具集安装了 5.3.1。
无论如何,我无法让RStudio服务器使用较新的gcc版本。我试图将source scl_source enable devtoolset-4
附加到.bash_profile的末尾,并设置CC, CXX
和COLLECT_LTD_WRAPPER
环境。变量在我的主目录中的 Makevars 文件以及 $R_HOME/etc/Renviron.site 文件中。在 RStudio 服务器中运行system("gcc -v")
仍然显示 gcc 版本是 4.8.5。但是,如果 ssh 进入服务器并从那里运行 R,然后检查 gcc 版本,它使用正确的版本(5.3.1)。
如何让 RStudio 服务器中的 R 会话使用较新的 GCC 版本?
将包含新版本的 gcc bin 的 PATH
var 放在 $R_HOME/etc/Renviron.site
像这样的东西..
PATH=/opt/rh/devtoolset-8/root/usr/bin:/opt/rh/devtoolset-8/root/usr/bin
然后全局设置
您还可以在 R-studio 中按会话设置它
Sys.setenv("PATH"="/opt/rh/devtoolset-8/root/usr/bin:/opt/rh/devtoolset-8/root/usr/bin")
安装 devtoolset。
yum install centos-release-scl
yum install devtoolset-8-gcc devtoolset-8-gcc-c++
将以下内容添加到~/.R/Makevars
。
CC=/opt/rh/devtoolset-8/root/usr/bin/gcc
CXX=/opt/rh/devtoolset-8/root/usr/bin/g++ -std=c++11
CXX11=/opt/rh/devtoolset-8/root/usr/bin/g++ -std=c++11
CXX14=/opt/rh/devtoolset-8/root/usr/bin/g++ -std=c++1y
CXX14FLAGS=-O3 -march=native -mtune=native -fPIC