我正在尝试安装rJava
以便在运行Linux的超级计算机的服务器上进行MaxEnt(Dismo软件包)。所有其他软件包均已成功,但是rJava仍会出错。
我已经遵循了thread的回答,包括使用jre
将R CMD javareconf
添加到我的文件路径,并安装了一个新的JDK并将其指定为$ JAVA_HOME。不幸的是,由于我在服务器上的角色,我无法使用apt-get
函数,尽管我认为这将是最好的解决方案,因为它将纠正我的必要文件路径。但是,也许我缺少引起错误的其他东西。
这是我正在使用的Java版本: -openjdk版本“ 1.8.0_181” -OpenJDK运行时环境(内部版本1.8.0_181-b13) -OpenJDK 64位服务器VM(内部版本25.181-b13,混合模式)
这是产生的错误消息
checking whether ~/Core/java/1.8.0_121/bin/javah actually works... no
checking whether javah was replaced by javac -h... no
configure: error: one or more Java tools are missing.
*** JDK is incomplete! Please make sure you have a complete JDK. JRE is *not* sufficient.
configure: error: ./configure failed for jri
ERROR: configuration failed for package 'rJava'
* removing '/home/afila/R/x86_64-pc-linux-gnu-library/3.5/rJava'
The downloaded source packages are in
'/tmp/RtmpvYtNJY/downloaded_packages'
答案 0 :(得分:0)
我遇到的问题确实是权限问题。有人通过使用proot
模拟根系统来帮助我解决了它。之后,只需重新配置目录和R对它的访问权限即可。
在Unix中
mkdir ~/etc
cp -a $EBROOTR/lib64/R/etc/* ~/etc
proot -b
R CMD javareconf -e
在R
install.packages("rJava")
library(rJava)