首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >rJava未能使用rJava库和javareconf失败

rJava未能使用rJava库和javareconf失败
EN

Stack Overflow用户
提问于 2012-03-19 15:02:10
回答 2查看 4.8K关注 0票数 9

我正在它自己的服务器上运行Rstudio。Java安装了良好的java_home和bin。安装了r。安装了rJava。

尝试执行命令:library("rJava")但与libjvm.so有问题,请按照Rstudio命令执行--我用根执行了sudo R CMD javareconf

下面是我的javareconf的输出:

代码语言:javascript
复制
Java interpreter : /home/scoremd/jdk1.7.0_03/jre/bin/java
Java version : 1.7.0_03
Java home path : /home/scoremd/jdk1.7.0_03
Java compiler : /home/scoremd/jdk1.7.0_03/bin/javac
Java headers gen.: /home/scoremd/jdk1.7.0_03/bin/javah
Java archive tool: /home/scoremd/jdk1.7.0_03/bin/jar
NOTE: Your JVM has a bogus java.library.path system property!

Trying a heuristic via sun.boot.library.path to find jvm library...
Java library path: $(JAVA_HOME)/jre/lib/amd64:$(JAVA_HOME)/jre/lib/amd64/server
JNI linker flags : -L$(JAVA_HOME)/jre/lib/amd64 -L$(JAVA_HOME)/jre/lib/amd64/server -ljvm
JNI cpp flags : -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/linux

似乎找到java库路径有问题..。但是我的java运行得很好,R也很好。

我没有收到来自RStudio支持和社区的任何解决方案(告诉我这么问……)。

EN

回答 2

Stack Overflow用户

发布于 2021-10-05 23:50:56

我的Centos服务器上安装了rstudio服务器。有几个用户使用rstudio,我们决定将R从3.6升级到4.0。

升级后:

  • 所有用户都在运行R4.0。
  • 没有用户可以使用install.package( rJava )安装rJava。这个错误总是弹出

配置:错误:无法编译简单的JNI程序。详情请参见config.log。确保安装了并在R中正确注册,如果有疑问,请将“”作为root重新运行。错误:包“rJava”配置失败

运行install.packages('rJava')

  • 运行SUDO,CMD javareconf运行顺利,而且当我以根用户身份打开R并尝试使用时,它安装的包非常好。(我不知道,root运行R3.6和users 4.0,请参阅解决方案below)
  • However --它没有为solution服务器中的用户安装包。总是声明相同的“尝试运行searching”,就好像用户的

路径是错误的一样。因此,我们尝试将"JAVA_HOME“变量设置为安装Java的相同路径(通过在yum中搜索已安装的包)。这并没有解决这个问题。

--我的解决方案--我看到当所有用户运行4.0时,root运行的是3.6VersionR。这是因为我在另一个目录中安装了4.0。R4.0的目录恰好是用户首先找到的。但是对于根用户..。它首先找到R3.6的路径。因此,我在根用户的$PATH变量中设置了4.0文件夹的路径,以便在找到R3.6之前找到version 4.0

出口PATH="/usr/local/bin:$PATH"

  • echo
  • echo $PATH
  • $PATH

然后,我以那个用户的身份运行R,运行“”,安装了软件包,所有用户都很高兴并再次工作。

(免责声明,我不是一个经验丰富的linux管理员,可能有一个更好的解决方案运行不同的R版本)

票数 2
EN

Stack Overflow用户

发布于 2013-12-25 03:03:18

我已经有一段时间没有使用rJava了,它是在Windows上运行的,但我有一些注释可能会对您有所帮助:

  • Make确保JRI本机库位于java.library.path
    • 中列出的目录中(也使用Process Explorer确认jri.dll为loaded)

)。

在执行library(rJava)时,R进程加载jvm.dll

在您的情况下,用libjvm.so替换libjvm.so,用与您相关的任何.so文件替换jri.dll

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9772527

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档