Arch Linux x64
为了安装rJava, 从AUR装上了100多M的Oracle JDK, 也sudo R CMD javareconf
过了, 甚至也R CMD javareconf -e
过了, 安装时一直卡在Cannot compile a simple JNI program这里:
checking Java support in R... present:
interpreter : '/opt/java/jre/bin/java'
archiver : '/opt/java/bin/jar'
compiler : '/opt/java/bin/javac'
header prep.: '/opt/java/bin/javah'
cpp flags : '-I/opt/java/include -I/opt/java/include/linux'
java libs : '-L/usr/local/lib64 -L/usr/java/packages/lib/amd64 -L/usr/lib64 -L/lib64 -L/lib -L/usr/lib -ljvm'
checking whether JNI programs can be compiled... configure: error: Cannot compile a simple JNI program. See config.log for details.Make sure you have Java Development Kit installed and correctly registered in R.
If in doubt, re-run "R CMD javareconf" as root.
全盘搜了一下, 没找到这个传说中的config.log ...
后来重新./configure
一下R, 也是在编译JNI这里no了一下:
...
checking whether JNI programs can be compiled ... no
...
sudo R CMD javareconf
结果:
Java interpreter : /opt/java/bin/java
Java version : 1.7.0
Java home path : /opt/java/jre
Java compiler : /opt/java/bin/javac
Java headers gen.: /opt/java/bin/javah
Java archive tool: /opt/java/bin/jar
Java library path: :/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
JNI linker flags : -L -L/usr/java/packages/lib/amd64 -L/usr/lib64 -L/lib64 -L/lib -L/usr/lib -ljvm
JNI cpp flags : -I$(JAVA_HOME)/../include -I$(JAVA_HOME)/../include/linuxUpdating Java configuration in /usr/local/lib64/R
Done.
对java实在是不了解, 莫非是什么环境变量默认没有定义正确或是需要手工定义? 因为其他一些程序, 暂时也不能切换到openjre/jdk.