Ziq*_*iqi 6 java java-native-interface r rjava
我在R3.0.1上安装rJava时遇到了这个问题:"configure:error:一个或多个JNI类型与相应的本机类型不同"
详细信息见下文.我搜索了类似的问题,但我的问题有点棘手,许多提议的解决方案要么无法工作,要么我无法尝试,因为我正在服务器上,我没有对系统库的写访问权.
操作系统:Linux 2.6.18-348.6.1.el5#1 SMP Tue 5月21日15:44:27 EDT 2013 x86_64 x86_64 x86_64 GNU/Linux(通过输入"uname -a"给出的信息抱歉我不太明白这个信息)
R:R3.0.1,我下载了源代码,放入我的主目录,并从源代码构建了R.
rJava:我在安装过程中运行了'install.packages("rJava")':
=========================
检查R中的Java支持...现在:
解释器:'/ usr/bin /
java'archiver:'/ usr/bin/jar'
编译器:'/ usr/bin/javac'
标题准备:'/ usr/bin/javah'cpp
flags:' - 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
libs:' - L/usr /lib/jvm/java-1.7.0-openjdk-1.7.0.9.x86_64/jre/lib/amd64/se
rver -ljvm'
检查是否可以编译JNI程序...是
检查JNI数据类型... configure:错误:一个或多个JNI类型与
相应的本机类型不同.您可能需要使用非标准编译器标志或
不同的编译器来解决此问题.
错误:包'rJava'
*删除'/home/me/R-3.0.1/library/rJava'的配置失败
==================================
由于我只能远程访问服务器,因此我无法对主目录/ home/me以外的任何内容进行写访问.
任何信息都将受到高度赞赏!
小智 9
我试图install.packages("rJava")在R版3.0.2中遇到同样的问题,只要我尝试安装为普通用户(Linux,Debian).install.packages("rJava")以root身份运行没有问题.然后,尝试library(rJava)为root工作,但不是作为用户:
Error : .onLoad failed in loadNamespace() for 'rJava', details:
call: dyn.load(file, DLLpath = DLLpath, ...)
error: unable to load shared object '/usr/usr.local.original.Debian/lib/R/site-library/rJava/libs/rJava.so':
libjvm.so: cannot open shared object file: No such file or directory
Run Code Online (Sandbox Code Playgroud)
需要这个问题加环境变量JAVA_HOME,并LD_LIBRARY_PATH
以~/.login(以下在发现说明在Ubuntu上设置Java环境路径故障(libjvm.so:无法打开共享对象文件:没有这样的文件或目录)):
setenv JAVA_HOME /usr/lib/jvm/java-7-oracle/
setenv LD_LIBRARY_PATH $JAVA_HOME/jre/lib/amd64:$JAVA_HOME/jre/lib/amd64/server
# For c-shell; for bash, it would have to be:
export JAVA_HOME=/usr/lib/jvm/java-7-oracle/
export LD_LIBRARY_PATH=$JAVA_HOME/jre/lib/amd64:$JAVA_HOME/jre/lib/amd64/server
Run Code Online (Sandbox Code Playgroud)
所以,你必须让系统管理员为你安装rJava,然后设置你的环境变量,当然,.libPaths()在R中设置你自己的,例如找到rJava.
我在我的Mac OSx El Capitan上遇到了同样的问题.我尝试使用"R CMD javareconf"更新R使用的java路径/ envs,没有任何效果.
最后,我看到当我运行"R CMD javareconf"时,我的Java库路径:在输出中为空.通过深入挖掘,我发现我的JAVA_HOME设置不正确,如/sf/answers/231838841/所述.我不得不在JAVA_HOME路径中添加额外的/ jre.
| 归档时间: |
|
| 查看次数: |
9415 次 |
| 最近记录: |