安装R包。包含目录为空。开发标题

时间:2012-03-30 21:08:27

标签: r unix

我目前正在尝试运行最初在2.11.0下运行的一些R代码。我使用2.14.1的R版本不运行代码。我不熟悉R以及它是如何向后兼容的。 (我的问题可能与我所知道的所有版本无关;我会很高兴得知这是我做错了。)其余的代码是无关紧要的;即使我自己运行,我的安装也会失败。

#these fail
install.packages("gtools",repos="http://cran.r-project.org")
install.packages("minet", repos="http://cran.r-project.org")
#these work
install.packages("psych", repos="http://cran.r-project.org")
install.packages("qvalue",repos="http://cran.r-project.org")
install.packages("R2HTML",repos="http://cran.r-project.org")

除了上面列出的方法之外,我还尝试了其他安装方法。我已经尝试安装和编译早期版本的gtools和minet。我试过从其他repos(biocLite)获取当前版本的软件包。但是所有安装尝试都会产生相同的故对于更多的背景,我不是我试图运行此代码的机器上的超级用户。我可以问一下超级用户的小优惠(不影响机器其他用户的那些)。我已经能够安装其他软件包了;虽然我早就说过,如果我有一个简单的问题,我会很高兴。这是一些失败。

* installing *source* package ‘gtools’ ...
** libs
Warning: R include directory is empty -- perhaps need to install R-devel.rpm or similar
gcc -m64 -std=gnu99 -I/usr/include/R  -I/usr/local/include    -fpic  -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -c setTCPNoDelay.c -o setTCPNoDelay.o
setTCPNoDelay.c:1:15: error: R.h: No such file or directory
setTCPNoDelay.c:2:24: error: Rinternals.h: No such file or directory
setTCPNoDelay.c: In function ‘checkStatus’:
setTCPNoDelay.c:66: warning: implicit declaration of function ‘strncpy’
setTCPNoDelay.c:66: warning: incompatible implicit declaration of built-in function ‘strncpy’
setTCPNoDelay.c:72: warning: implicit declaration of function ‘strerror’
setTCPNoDelay.c:72: warning: passing argument 2 of ‘strncpy’ makes pointer from integer without a cast
make: *** [setTCPNoDelay.o] Error 1
ERROR: compilation failed for package ‘gtools’

2 个答案:

答案 0 :(得分:0)

出现此错误是因为我登录的特定计算机没有开发标头。我的系统管理员指示我登录到另一台机器。这有点奇怪的是R允许我安装一些没有标题的软件包。如果您在尝试安装R软件包时间歇性地收到此投诉,则可能与Joshua Ulrich在评论中提到的开发标题有关。

答案 1 :(得分:0)

这个错误来自于gcc无法找到" R.h"在默认包含路径(/ usr / local / include)等

在root模式下,可以通过执行以下命令轻松解决:

sudo apt-get install r-base r-base-dev

在用户模式下,可以通过下载和编译自己的代码副本来解决:

wget "https://cran.r-project.org/src/base/R-3/R-3.2.2.tar.gz"
tar xvfz R-3.2.2.tar.gz
cd R-3.2.2
./configure --prefix=/SOME_LOCAL_DIR
make; make install

现在启动R指定include dir的路径(可以找到R.h):

export CPATH=/LOCAL_PATH/R-3.2.2/include/
export C_INCLUDE_PATH=/LOCAL_PATH/R-3.2.2/include/
export CPLUS_INCLUDE_PATH=/LOCAL_PATH/R-3.2.2/include/
export GCC_INCLUDE_DIR=/LOCAL_PATH/R-3.2.2/include/
./bin/R

现在install.packages()应该正常工作

> install.packages("Rcpp")