嗨,我有来自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运行它.
感谢指针.