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

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (56)

我无法rJava打包R 3.0。我收到以下消息

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,这里有一些解决方案但是,不知道我该如何在这里使用解决方案。

提问于
用户回答回答于

我遇到了完全相同的问题。我的解决方案是安装openjdk-7- * via

sudo apt-get install openjdk-7-*

跟着那个

sudo R CMD javareconf

然后我可以在R上安装rJava install.packages("rJava")

虽然也许不是最优雅的解决方案,但它似乎已经解决了让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/ 

扫码关注云+社区