[英]rJava installation in R on debian
在Debian 64位機器上更新到R 3.0.1后,rJava軟件包不想安裝。
配置失敗,所以sudo R CMD javareconf [這在另一台debian機器上工作]。 但它在這里不起作用,還有其他人有這個問題嗎? [見下面的終端輸出]
henk@crunchbang:~$ sudo R CMD javareconf
Java interpreter : /usr/bin/java
Java version : 1.6.0_18
Java home path : /usr/lib/jvm/java-6-openjdk/jre
Java compiler : /usr/bin/javac
Java headers gen.: /usr/bin/javah
Java archive tool: /usr/bin/jar
trying to compile and link a JNI progam
detected JNI cpp flags :
detected JNI linker flags : -L$(JAVA_HOME)/lib/amd64/server -ljvm
gcc -std=gnu99 -I/usr/share/R/include -DNDEBUG -fpic -O3 -pipe -g -c conftest.c -o conftest.o
conftest.c:1:17: error: jni.h: No such file or directory
conftest.c: In function ‘main’:
conftest.c:4: warning: implicit declaration of function ‘JNI_CreateJavaVM’
make: *** [conftest.o] Error 1
Unable to compile a JNI program
Java library path:
JNI cpp flags :
JNI linker flags :
Updating Java configuration in /usr/lib64/R
Done.
# check java
henk@crunchbang:~$ java -version
java version "1.6.0_18"
OpenJDK Runtime Environment (IcedTea6 1.8.13) (6b18-1.8.13-0+squeeze2)
OpenJDK 64-Bit Server VM (build 14.0-b16, mixed mode)
java環境:
henk@crunchbang:~$ aptitude search "?provides(java-runtime)"
i A default-jre - Standard Java or Java compatible Runtime
i A default-jre-headless - Standard Java or Java compatible Runtime (headle
p gcj-4.4-jre - Java runtime environment using GIJ/classpath
p gcj-4.4-jre-headless - Java runtime environment using GIJ/classpath (he
p gcj-jre - Java runtime environment using GIJ/classpath
p gcj-jre-headless - Java runtime environment using GIJ/classpath (he
i A openjdk-6-jre - OpenJDK Java runtime, using Hotspot JIT
i A openjdk-6-jre-headless - OpenJDK Java runtime, using Hotspot JIT (headles
i sun-java6-jre - Sun Java(TM) Runtime Environment (JRE) 6 (archit
我把這些步驟(上EC2與Ubuntu 14.04和RStudio服務器)安裝將R包qdap
需要rJava
:(我可能在這里和那里引用其他來源,我不記得從那里,但感謝。)
從http://sites.psu.edu/theubunturblog/cran2deb4ubuntu/安裝這些存儲庫
(debian: http : //r-forge.r-project.org/projects/cran2deb/ )
sudo add-apt-repository ppa:marutter/rrutter
sudo add-apt-repository ppa:marutter/c2d4u
sudo apt-get update
安裝Java:
sudo apt-get install openjdk-7-jdk
ls /usr/lib/jvm
為Java設置系統范圍的環境變量:
sudo joe /etc/profile.d/javaenvvar.sh
其中包含:
# JAVA environment variable
# for openjdk-7-jdk in order to use the R package `qdap`.
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64/jre
export PATH=$PATH:$JAVA_HOME/bin
然后退出BASH並再次登錄。 檢查您的路徑更改:
echo $PATH
echo $JAVA_HOME
然后:
sudo R CMD javareconf
應該返回:
Java interpreter : /usr/bin/java
Java version : 1.7.0_65
Java home path : /usr/lib/jvm/java-7-openjdk-amd64/jre
Java compiler : /usr/bin/javac
Java headers gen.: /usr/bin/javah
Java archive tool: /usr/bin/jar
使用以下條目創建文件/etc/ld.so.conf.d/java.conf
:
/usr/lib/jvm//usr/lib/jvm/java-7-openjdk-amd64/jre/lib/amd64
/usr/lib/jvm//usr/lib/jvm/java-7-openjdk-amd64/jre/lib/amd64/server
然后從這些新存儲庫安裝rJava
:
sudo apt-get install r-cran-rjava
這只是將rJava
安裝到/usr/lib/R/site-library
,希望這對所有RStudio-Server用戶都可以訪問。
sudo update-alternatives --config java
希望只安裝一個java。
更新R包:
sudo R
> packageStatus()
> update.packages()
在系統范圍內安裝R軟件包(仍在sudo R中):
> install.packages("qdap", lib="/usr/lib/R/site-library")
重置RStudio-Server:
首先注銷RStudio-Server。
sudo rstudio-server stop
sudo rstudio-server start
重新登錄RStudio-Server。
如果出現內存錯誤,請嘗試分離一些軟件包。 EC2 t2-micro只有1 GB的RAM。
我有同樣的問題,解決方案是更新到openjdk-7- *並使用update-alternatives --config java
來設置java-7-openjdk路徑。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.