Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 编译Rcpp时遇到的问题_C++_Linux_R_Gcc_Centos - Fatal编程技术网

C++ 编译Rcpp时遇到的问题

C++ 编译Rcpp时遇到的问题,c++,linux,r,gcc,centos,C++,Linux,R,Gcc,Centos,在CentOS 6.5机箱上安装R3.2.2的Rcpp时遇到一些问题。我在StackOverflow和其他论坛上找到的答案对解决这个问题似乎没有多大帮助。如果我试图从R内部或使用R CMD install从命令行安装,我最终会遇到类似的错误,Rcpp无法安装,最后出现错误make:**[Date.o]错误1和前面的行/错误是/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../../../../../include/c++/4.4.7/异常:35:

在CentOS 6.5机箱上安装R3.2.2的Rcpp时遇到一些问题。我在StackOverflow和其他论坛上找到的答案对解决这个问题似乎没有多大帮助。如果我试图从R内部或使用
R CMD install
从命令行安装,我最终会遇到类似的错误,Rcpp无法安装,最后出现错误
make:**[Date.o]错误1
和前面的行/错误是
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../../../../../include/c++/4.4.7/异常:35:错误:应在行结束前声明

下面是我在从中抓取tarball后通过
R CMD INSTALL Rcpp_0.12.1.tar.gz
安装的尝试

我试过的其他事情
  • 已验证是否安装了
    gcc.x86_64
    gcc-c++.x86_64
    gcc-gfortran.x86_64
  • 验证是否安装了
    make
    automake
正如文章中所指出的,诀窍是通过SCL使用新版本的编译器

以下步骤改编自上的本页

在RHEL6上,您可能需要更新已安装的.repo文件,以手动将baseurl设置为
http://people.centos.org/tru/devtools-1.1/6/$basearch/rpm
。从那里:

$ sudo yum install devtoolset-1.1
要安装系统范围的R库,您需要以root用户身份运行它,这样做
scl enable devtoolset-1.1 bash
,然后运行
sudo R
将运行应用程序,但不启用scl。因此:

$ sudo scl enable devtoolset-1.1 bash
这将在启用SCL的情况下以root用户身份启动bash shell。最后,您可以通过以下方式安装库:

# R CMD INSTALL Rcpp_0.12.1.tar.gz

您可能需要升级编译器;不幸的是,CentOS 6附带了一个相当过时的gcc版本。可能会有帮助。@nrussell这绝对值得一试,但不幸的是,这并没有奏效,即使启用了SCL,仍然会看到相同的错误。@nrussell所以这是我的新手举动。你是对的,使用SCL确实解决了这个问题。当我最初使用
SCL enable devtoolset-1.1bash
切换到SCL时,我自己也这么做了,但当我开始安装时,这并没有继续。
$ sudo scl enable devtoolset-1.1 bash
# R CMD INSTALL Rcpp_0.12.1.tar.gz