如何使用 devtools 和备用 gcc 安装?

How to install with devtools and an alternate gcc?

我正在尝试使用

从 github 安装 feather
library(devtools);install_github('wesm/feather/R')

但是我得到了引用 in this issue, that I need to update my gcc. I'm using Centos 6.7 and the default make tools are old, but I installed devtoolset-2 的错误,它为我提供了 gcc 和 g++ 4.8,我将它们同步 link 到我的 /usr/bin 目录中。

$ gcc --version
gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-16)

$ gcc-4.8 --version
gcc-4.8 (GCC) 4.8.2 20140120 (Red Hat 4.8.2-15)

$ g++ --version
g++ (GCC) 4.4.7 20120313 (Red Hat 4.4.7-16)

$ g++-4.8 --version
g++-4.8 (GCC) 4.8.2 20140120 (Red Hat 4.8.2-15)

我在 ~/.R/Makevars 中添加了这些选项:

$ cat ~/.R/Makevars 
CC=gcc-4.8
CXX=g++-4.8
CXX_STD=CXX11
CXX1XSTD=-Dstd=c++11

但是当我尝试安装我的包时它失败了,因为它试图从错误中 link 包括:

/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/bits/cpp_type_traits.h:76: error: expected ‘{’ before ‘++’ token

我需要做什么才能正确配置 install_github

您还需要为 C++11 编译设置 CXX 等效项:

 CXX1X=g++-4.8

应该可以了。如有疑问,对比R自己的Makeconf.

哦,您可能不需要 CXX1XSTD,因为 CXX_STD 中的值强加了它。