繁体   English   中英

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

[英]Unable to install rJava in R 3.0 in Ubuntu 13.04

我无法在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 这里有一些解决方案 但是,不确定如何使用这里的解决方案。

我遇到了完全相同的问题。 我的解决方案是通过以下方式安装 openjdk-7-*

sudo apt-get install openjdk-7-*

随之而来的是

sudo R CMD javareconf

然后我就可以通过install.packages("rJava")在 R 中安装 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/ 

按照此 askUbuntu 答案中的建议从分发包安装 rJava 也有效:

sudo apt-get install r-cran-rjava

注意:在 Debian 系统中尝试过。

我也遇到了 RHEL8.1 上的相同错误,我按如下方式解决了它:

yum --enablerepo=* install java-1.8* 

后来我运行了相同的命令,它给了我 R 服务器的错误日志。

R CMD javareconf

变成以下输出。

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM