【发布时间】:2013-09-03 01:07:53
【问题描述】:
我在 R3.0.1 上安装 rJava 时遇到了这个问题: “配置:错误:一种或多种 JNI 类型与对应的原生类型不同”
下面附上详细信息。 我搜索了类似的问题,但我的问题有点棘手,许多建议的解决方案要么不起作用,要么我无法尝试,因为我正在使用一个我没有系统库写入权限的服务器。
操作系统:Linux 2.6.18-348.6.1.el5 #1 SMP Tue May 21 15:44:27 EDT 2013 x86_64 x86_64 x86_64 GNU/Linux(信息通过键入“uname -a " 抱歉,我不太明白这个信息)
R:R3.0.1,我下载了源码,放到我的home目录下,从源码编译了R。
rJava:我运行了 'install.packages("rJava")',在安装过程中我得到了:
==========================
正在检查 R... 中的 Java 支持:
解释器:'/usr/bin/java'
存档:'/usr/bin/jar'
编译器:'/usr/bin/javac'
标题准备:'/usr/bin/javah'
cpp 标志:'-I/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.9.x86_64/jre/../include -
I/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.9.x86_64/jre/../include/linux'
java库:'-L/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.9.x86_64/jre/lib/amd64/se
rver -ljvm'
正在检查 JNI 程序是否可以编译... 是
检查 JNI 数据类型...配置:错误:一种或多种 JNI 类型与
相应的本机类型不同。您可能需要使用非标准编译器标志或
一个不同的编译器来解决这个问题。
错误:包“rJava”的配置失败
* 删除 '/home/me/R-3.0.1/library/rJava'
===================================
由于我只能远程访问服务器,因此我没有对我的主目录 /home/me 之外的任何内容的写访问权。
任何信息将不胜感激!
【问题讨论】:
-
您好,我从本地服务器管理团队获得了帮助,我认为更新对我很有用。问题是当我构建 rJava 包时,它在服务器上的默认 Java 版本 (usr/lib) 和我在 /home 区域中安装的自定义版本之间感到困惑。后者由 .bashsrc 文件设置,该文件具有以下行:
export JAVA_HOME=/home/me/jdk1.7.0_04/bin/java
export PATH=$PATH:/home/me/jdk1.7.0 _04/bin 所以一旦我删除了这两行 rJava 就会正确安装。
标签: java r java-native-interface rjava