2012-03-30 159 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")