为什么rJava不能使用OpenJDK 7在Ubuntu 14.04上运行?

 平從老 发布于 2023-01-16 17:30

嗨,我有来自cran的rJava包的问题.

我安装了

sudo apt-get install openjdk-7-jdk
sudo apt-get install r-cran-rjava

跑了

sudo R CMD javareconf
# Java interpreter : /usr/bin/java
# Java version     : 1.7.0_55
# Java home path   : /usr/lib/jvm/java-7-openjdk-amd64/jre
# Java compiler    : /usr/bin/javac
# Java headers gen.: /usr/bin/javah
# Java archive tool: /usr/bin/jar

然后我尝试运行R并加载rJava并得到以下错误:

R
> library(rJava)
Error : .onLoad failed in loadNamespace() for 'rJava', details:
  call: dyn.load(file, DLLpath = DLLpath, ...)
  error: unable to load shared object '/usr/lib/R/site-library/rJava/libs/rJava.so':
  libjvm.so: cannot open shared object file: No such file or directory
Error: package or namespace load failed for ‘rJava’

我在Ubuntu 14.04 64位上使用R版本3.1.0(2014-04-10) - "春之舞"

更新:实际上这不是特定于OpenJDK,我只是尝试了oracle java 8并得到了相同的结果.此外,我在这里找到了这个解决方法,我不愿意使用,因为它确实是一种解决方法,并没有真正解释为什么它是必要的.在我看来,包装系统应该处理这个问题.看起来像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-oracle/jre/lib/amd64/server/libjvm.so

由于某种原因,尽管使用sudo R CMD javareconf进行更新,但rJava仍无法找到它们.

更新2:情节变浓:如果我将R作为sudo运行它.

感谢指针.

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有