在Centos 6.5上的Rstudio Server中加载rJava时出现错误

3

我试图在Rstudio Server 0.99.467和Revolution Analytics Open R 3.2.0 (这是大部分标准的R 3.2.0加上一些额外的包)中加载rJava,但我收到以下错误信息:

> require(rJava)
Loading required package: rJava
Error : .onLoad failed in loadNamespace() for 'rJava', details:
  call: dyn.load(file, DLLpath = DLLpath, ...)
  error: unable to load shared object '/usr/lib64/RRO-3.2.0/R-3.2.0/lib64/R/library/rJava/libs/rJava.so':
  libjvm.so: cannot open shared object file: No such file or directory

我正在使用Centos 6.5和Oracle Java 1.8 JDK。

[root@server ~]# java -version
java version "1.8.0_51"
Java(TM) SE Runtime Environment (build 1.8.0_51-b16)
Java HotSpot(TM) 64-Bit Server VM (build 25.51-b03, mixed mode)

我已经通过谷歌搜索了这个问题,其中一个解决方案是将JAVA_HOME设置为空字符串,但是我已经将其设置为该值。

> Sys.getenv("JAVA_HOME")
[1] ""

我有两个库路径,可能是问题的原因:

> .libPaths()
[1] "/home/kjedrzejewski/R/x86_64-unknown-linux-gnu-library/3.2"
[2] "/usr/lib64/RRO-3.2.0/R-3.2.0/lib64/R/library" 

当我在bash中的R控制台中尝试加载此软件包时,不会出现任何错误。

1个回答

2

当我以root身份运行以下命令时,一切开始正常工作:

R CMD javareconf
rstudio-server verify-installation

我不确定具体是什么帮助了。

在我的情况下,问题是$LD_LIBRARY_PATH被Rstudio访问时(Sys.getenv('LD_LIBRARY_PATH')),它指向的是一个不同于我使用的java版本。


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