我正在尝试从Rstudio服务器中的Centos / RHEL服务器上编译lubridate,但是失败了。在与润滑专家的交流中,我被告知Centos的默认gcc已经很老了(4.4.7),并被告知要更新。我这样做了(经过一些挑战),现在当我在shell提示符下给出gcc --version命令时,我得到了gcc (GCC) 7.3.1 20180303 (Red Hat 7.3.1-5)
。但是我仍然收到编译错误。
Which gcc
返回/opt/rh/devtoolset-7/root/usr/bin/gcc
但是错误消息之一是/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/typeinfo:36: error: expected ‘}’ before end of line
,这表明R在gcc信息中找错了位置。
我尝试使用以下命令在Makevars
中创建一个~/.R
文件
link
CC=gcc-7.3.1
CXX=g++7.3.1
CXX_STD=CXX11
CXX1X=g++7.3.1
我重新启动了RStudio,它也开始了一个新的R会话。但是lubridate的编译过程仍然失败。