无法在Ubuntu 13.04的R 3.0中安装rJava

我无法在R 3.0调用rJava包。 我收到以下消息

 Error: package 'rJava' was built before R 3.0.0: please re-install it 

当我尝试重新安装rJava软件包时出现错误。 我已经提供了R CMD javareconf的输出

 Java interpreter : /usr/bin/java Java version : 1.7.0_21 Java home path : /usr/lib/jvm/java-7-openjdk-i386/jre Java compiler : /usr/lib/jvm/java-7-openjdk-i386/jre/../bin/javac Java headers gen.: /usr/lib/jvm/java-7-openjdk-i386/jre/../bin/javah Java archive tool: /usr/lib/jvm/java-7-openjdk-i386/jre/../bin/jar trying to compile and link a JNI progam detected JNI cpp flags : detected JNI linker flags : gcc -std=gnu99 -I/usr/share/R/include -DNDEBUG -fpic -O2 -pipe -g -c conftest.c -o conftest.o conftest.c:1:17: fatal error: jni.h: No such file or directory compilation terminated. 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/lib/R Done. 

我正在使用Ubuntu 13.04。 我也尝试apt-get install r-cran-rjava这是不帮助解决问题。 关于jni.h,这里有一些解决scheme。 但是,不知道如何在这里使用解决scheme。

我遇到了完全相同的问题。 我的解决scheme是安装openjdk-7- *通过

 sudo apt-get install openjdk-7-* 

跟着那个

 sudo R CMD javareconf 

然后我可以通过install.packages("rJava")在R中安装rJava。

虽然也许不是最优雅的解决scheme,它似乎已经解决了我的rJava工作的问题。

对于那些得到错误:

 error: unable to load shared object '/some/dir/rJava/libs/rJava.so': libjvm.so: cannot open shared object file: No such file or directory 

我解决了在系统中定位库并将它们链接到/usr/lib

 $sudo updatedb $locate libjvm.so /usr/lib/debug/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/amd64/server/libjvm.so /usr/lib/debug/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/amd64/zero/libjvm.so /usr/lib/jvm/java-7-openjdk-amd64/jre/lib/amd64/jamvm/libjvm.so /usr/lib/jvm/java-7-openjdk-amd64/jre/lib/amd64/server/libjvm.so /usr/lib/jvm/java-7-openjdk-amd64/jre/lib/amd64/zero/libjvm.so $sudo ln -s /usr/lib/jvm/java-7-openjdk-amd64/jre/lib/amd64/server/libjvm.so /usr/lib/ 

从这个askUbuntu的答案中提出的从发行包安装rJava也是可行的 :

 sudo apt-get install r-cran-rjava 

注意:从Debian系统尝试。