install rJava-"configure: error: 一个或多个JNI类型与相应的本地类型不同"

 2023-01-20    291  

问题描述

我在R3.0.1上安装RJAVA时遇到了这个问题:
“配置:错误:一种或多种JNI类型与相应的本机类型不同”

详细消息在下面附有.
我搜索了类似的问题,但是我的问题有些棘手,许多提出的解决方案要么无法使用,要么无法尝试,因为我正在使用我没有写入系统库的服务器.

install rJava-"configure: error: 一个或多个JNI类型与相应的本地类型不同"

.

OS :Linux 2.6.18-348.6.1.1.El5#1 SMP TUE 5月21日15:44:27 EDT 2013 x86_64 x86_64 x86_64 x86_64 x86_64 gnu/linux(通过键入” Uname -a -a -a -a -a -a -a -a -a a” “对不起,我无法完全理解此信息)

r :r3.0.1,我下载了来源,放入主目录并从源构建R.

rjava :我ran’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.9.9.9.x86_64/jre/../include-

i/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.9.9.9.9.x86_64/jre/../include/lineux’

java libs:’-l/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.9.9.9.x86_64/jre/lib/lib/amd64/se

rver -ljvm’

检查是否可以编译JNI程序…是的

检查JNI数据类型…配置:错误:一种或多个JNI类型与
相应的本机类型不同.您可能需要使用非标准编译器标志或

另一个编译器以解决此问题.

错误:配置失败了软件包’rjava’

*删除’/home/me/r-3.0.1/library/rjava’

================================

由于我只能远程访问服务器,因此我没有对主目录/主页/我之外的任何内容进行写入访问权限.

任何信息都将不胜感激!

推荐答案

我遇到了在R 3.0.2中尝试install.packages(“rJava”)的同一问题,只要我尝试以普通用户的身份安装(Linux,debian).运行install.packages(“rJava”)作为根没有问题.然后,尝试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

添加环境变量所需的问题JAVA_HOME和LD_LIBRARY_PATH
到~/.login(以下说明在设置Java环境路径的麻烦” ):

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

因此,您必须为您安装系统管理员安装RJAVA,然后设置环境变量,当然,在R中设置自己的.libPaths(),例如查找RJAVA.

其他推荐答案

我在我的Mac OSX El Capitan上遇到了同样的问题.我尝试更新R r cmd javareconf使用的R使用的Java路径/ENV,没有任何效果.

最后,我看到当我运行” r cmd javareconf”时,我的java库路径:输出中是空的.通过进一步挖掘,我发现我的java_home未正确设置,如下所示, https://stackoverflow.com/a/a/3311983 .我必须在Java_home路径中添加额外的/jre.

其他推荐答案

使用Linux,特别是64位Gentoo,我的解决方案是将以下行添加到/etc/env.d/20java-config

LD_LIBRARY_PATH="/etc/java-config-2/current-system-vm/jre/lib/amd64:/etc/java-config-2/current-system-vm/jre/lib/amd64/server"

然后

  • 运行环境
  • source/etc/profile
  • 开始 rstudio (或者如果您使用的是GUI菜单,注销和登录以加载环境)

上面的更改需要由root进行,但后来适用于下一个登录时使用同一系统的非根系用户.

基本上,rjava conf测试未能找到libjvm.so,conftest程序将编译但不链接:)

以上所述是小编给大家介绍的install rJava-"configure: error: 一个或多个JNI类型与相应的本地类型不同",希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对77isp云服务器技术网的支持!

原文链接:https://77isp.com/post/26135.html

=========================================

https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。