【发布时间】:2018-03-07 00:34:52
【问题描述】:
我在安装和加载 rJava 时仍然遇到问题。我有 R 3.4.1('单蜡烛'); Java v 9 和 mac OS 10.12.6。
我遵循here 列出的所有步骤,包括使用终端编辑我的 ~/.profile 以包括:
导出 JAVA_HOME=$(/usr/libexec/java_home -v 9)
导出 PATH=$JAVA_HOME/bin:$PATH
并进行其他更改以将 R 连接到“正确的”Java。当我跑步时
sudo R CMD javareconf
但是,我收到一条错误消息:
警告:“JNI_CreateJavaVM”已弃用 [-Wdeprecated-declarations] JNI_CreateJavaVM(0, 0, 0); ^ /System/Library/Frameworks/JavaVM.framework/Headers/jni.h:1937:1:注意: “JNI_CreateJavaVM”已在此处明确标记为已弃用 JNI_CreateJavaVM(JavaVM **pvm, void **penv, void *args); ^ 生成了 1 个警告。
当我跑步时
R CMD INSTALL rJava_0.9-8.tar.gz
一切都很顺利,直到我收到一条错误消息:
检查是否可以编译 JNI 程序... configure: error: Cannot compile a simple JNI program.有关详细信息,请参阅 config.log。
确保您已在 R 中安装并正确注册了 Java 开发工具包。 如果有疑问,请以 root 身份重新运行“R CMD javareconf”。
错误:“rJava”包配置失败
来自上面链接的站点的 Michal 建议确保“/usr/libexec/java_home -v 9”“指向”JDK 而不是 JRE。我不知道该怎么做。另外,当我尝试类似:
回显 $JAVA_HOME
我明白了:
/Library/Java/JavaVirtualMachines/jdk-9.jdk/Contents/Home
我怎么知道这个 JDK 还是 JRE?
由于我的错误消息,我认为我遇到了 JNI 问题,但我不确定如何着手处理该问题。任何关于使用 Michal 的教程可能出错的见解将不胜感激!
附:我最初的问题是在 R 中,尝试加载库(rJava)并收到此错误:
错误:“rJava”的包或命名空间加载失败: .onLoad 在“rJava”的 loadNamespace() 中失败,详细信息: 调用:dyn.load(file, DLLpath = DLLpath, ...) 错误:无法加载共享对象'/Library/Frameworks/R.framework/Versions/3.4/Resources/library/rJava/libs/rJava.so': dlopen(/Library/Frameworks/R.framework/Versions/3.4/Resources/library/rJava/libs/rJava.so, 6):库未加载:@rpath/libjvm.dylib 引用自:/Library/Frameworks/R.framework/Versions/3.4/Resources/library/rJava/libs/rJava.so 原因:找不到图片
【问题讨论】: