无法编译JNI程序rJava

时间:2013-07-10 12:23:51

标签: java r

我想安装rJava但它不起作用。当我输入R CMD时 控制台中的javareconf我收到以下错误:

trying to compile and link a JNI progam
detected JNI cpp flags    :
detected JNI linker flags :
gcc -std=gnu99 -I/usr/share/R/include -DNDEBUG      -fpic  -O3 -pipe  -g 
-c conftest.c -o conftest.o
conftest.c:1:17: error: jni.h: No such file or directory
conftest.c: In function 'main':
conftest.c:4: warning: implicit declaration of function 'JNI_CreateJavaVM'
make: *** [conftest.o] Error 1
Unable to compile a JNI program


Java library path:
JNI cpp flags    :
JNI linker flags :
Updating Java configuration in /usr/lib64/R
Done.

任何想法如何解决?

3 个答案:

答案 0 :(得分:5)

jni.h文件是JDK安装的一部分。您可能没有正确安装Java JDK。从here下载Oracle Java,或使用您的包管理器。

如果已安装Java JDK,请将JAVA_HOME环境变量设置为指向JDK目录。

答案 1 :(得分:2)

我知道这已经关闭,但我为了完整性而添加了我的解决方案。实际上我有同样的问题,所有都正确安装。我也跑了

sudo R CMD javareconf

用于系统范围设置。我需要的是它为我的用户工作。在这种情况下,你应该运行

R CMD javareconf -e

没有sudo和附加-e。

为我工作。 :)

答案 2 :(得分:0)

我也遇到了与RHEL8.1相同的错误,并按以下步骤解决了该问题:

 yum --enablerepo=* install java-1.8* 

后来我运行了相同的命令,这给了我R服务器的错误日志。

 R CMD javareconf

这将变成以下输出并成功。

enter image description here