rJava在rstudio server中无法加载

4

我正在使用 Ubuntu 12.4服务器 上的RStudio和R 3.1.1。rJava已经安装成功,但无法加载rJava库。我是以“rstudio”用户身份使用的。

Loading required package: rJava
Error : .onLoad failed in loadNamespace() for 'rJava', details:
  call: dyn.load(file, DLLpath = DLLpath, ...)
  error: unable to load shared object '/home/rstudio/R/x86_64-pc-linux-gnu-library/3.1/rJava/libs/rJava.so':
  libjvm.so: cannot open shared object file: No such file or directory
Error: package ‘rJava’ could not be loaded

但是我可以在提到的位置看到文件。

当我在Rstudio中进行时...

>Sys.getenv("LD_LIBRARY_PATH")

[1] "/usr/lib/R/lib:/lib:/usr/lib/jvm/java-6-openjdk-amd64/jre/lib/amd64/server:@JAVA_LD@:@JAVA_LD@:@JAVA_LD@:@JAVA_LD@:@JAVA_LD@:@JAVA_LD@:@JAVA_LD@:@JAVA_LD@:@JAVA_LD@:@JAVA_LD@:@JAVA_LD@:@JAVA_LD@:@JAVA_LD@:@JAVA_LD@:@JAVA_LD@:@JAVA_LD@:@JAVA_LD@:@JAVA_LD@"

当我执行sudo R CMD javareconf命令时,会得到以下结果。
Java interpreter : /usr/bin/java
Java version     : 1.6.0_32
Java home path   : /usr/lib/jvm/java-6-openjdk-amd64/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  -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -Werror=format-security -D_FORTIFY_SOURCE=2 -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_HOME        : /usr/lib/jvm/java-6-openjdk-amd64/jre
Java library path:
JNI cpp flags    :
JNI linker flags :
Updating Java configuration in /usr/lib/R
Done.

有人能帮忙解决这个问题吗?

谢谢, Amit

5个回答

2
尝试使用sudo apt-get install r-cran-rjava安装。

1
谢谢您的回复...我已经尝试过了...但是没有帮助。 - Dutta

2

另外,你们应该安装

sudo apt-get install r-cran-rjava

然后执行以下命令:

R CMD javareconf(以root身份)

我想这样就可以了...


这对我来说不是一个解决方案。在终端中使用这些命令似乎适用于R,但不适用于RStudio Server。 - Hack-R

1

使用非root用户安装rJava

以下是我的成功安装经验:

下载最新的JDK并解压缩,然后执行以下命令:

export JAVA_HOME=/public/software/jdk1.8.0_11/
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:/public/software/jdk1.8.0_11/lib/
~/soft/bin/R CMD INSTALL ~/soft/R/R_package_archive/rJava_0.9-6.tar.gz

完成!


1

这对我有用:

重新安装rJava

install.packages("rJava")

0

我曾经因为在终端上可以使用rJava,但在rstudio-server上却无法使用而感到疯狂。最终,以下方法对我有效:

sudo systemctl restart rstudio-server
sudo rstudio-server kill-all

但是它会杀死所有的RStudio服务器会话。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接