2012-03-30 150 views
3

我目前正在尝试运行最初在2.11.0下运行的一些R代码。我使用的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。我试图从其他回购(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’ 
+1

您需要将R标头能够编译对他们( “需要安装R-devel.rpm或类似的”)。 – 2012-03-30 21:10:39

+0

@JoshuaUlrich 我该如何去获取所说的标题以及我将它放在哪里? – order 2012-03-30 21:14:44

+2

,这取决于您的操作系统以及它的设置。询问安装R的人也安装开发头文件。 – 2012-03-30 21:20:06

回答

0

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

0

此错误来自这样的事实的gcc找不到“RH”上的默认包括路径(在/ usr /本地/包括)等

在根模式中,它可以容易地通过执行解决:

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目录(其中铑可以找到)的路径:

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

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

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")