安装r软件包时出错(Linux Mint 17.1)“错误:C预处理器”g ++ -E“无法进行健全性检查”

时间:2015-07-08 16:56:34

标签: c linux r gcc g++

我已转移到Linux系统(以前的OSX用户),我正在尝试安装我的R软件包。

我遇到的第一个问题是:

Warning in install.packages("stringi") :
  'lib = "/usr/local/lib/R/site-library"' is not writable
Would you like to use a personal library instead?  (y/n)

但我通过使用以下方式启动R来解决这个问题:

$ sudo R

如果有人使用'sudo'有更长久的解决方案(因为我将来会使用RStudio),我很想知道!

但就目前而言,我遇到了一个无法找到解决方案的问题。当我尝试安装'stringi'时,我得到以下内容:

* installing *source* package ‘stringi’ ...
** package ‘stringi’ successfully unpacked and MD5 sums checked
checking for local ICUDT_DIR... icu55/data
checking for R_HOME... /usr/lib/R
checking for R... /usr/lib/R/bin/R
checking for R >= 3.1.0... yes
checking for cat... /bin/cat
checking for gcc... gcc -std=gnu99
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc -std=gnu99 accepts -g... yes
checking for gcc -std=gnu99 option to accept ISO C89... none needed
checking how to run the C preprocessor... g++ -E
configure: error: in `/tmp/Rtmplf58Ya/R.INSTALL2d1959f5fc41/stringi':
configure: error: C preprocessor "g++ -E" fails sanity check
See `config.log' for more details
ERROR: configuration failed for package ‘stringi’
* removing ‘/usr/local/lib/R/site-library/stringi’

该行:

configure: error: C preprocessor "g++ -E" fails sanity check

参考?我相当肯定我的C编译器基于这一行工作:

checking whether the C compiler works... yes

和这一行:

checking whether we are using the GNU C compiler... yes

但就像我说的那样,我刚刚开始深入研究Linux系统的内部工作原理,所以我在这里完全错了。

非常感谢任何和所有的帮助!

编辑:我正在使用Linux Mint 17.1(MATE)和R版本3.2.1

1 个答案:

答案 0 :(得分:4)

尝试安装g ++: sudo apt-get install g++

可以安装GNU C编译器(GCC),但默认情况下并不总是安装g ++。

至于必须sudo进入R Studio,这相当于在OS X中安装程序时必须输入密码 - 它只是其中一个复杂的错综复杂的错误之一。 Linux系统(顺便提一下,OS X基于BSD Linux)。我想你在不安装套餐时不一定需要使用sudo(不确定,确实没有真正使用R Studio)。