gpt4 book ai didi

java - 使用 OS Sierra 在 R(3.4.1) 中加载 rJava

转载 作者:搜寻专家 更新时间:2023-10-31 20:00:01 25 4
gpt4 key购买 nike

我在最新版本的 R(3.4.1)、Mac (10.12.5) 和 Java VM(1.8.0_131、x86_64:) 中遇到了 rJava 的问题

问题:

我试着按照这个指南去做

scottdhoover.wordpress.com/2013/03/05/a-basic-rjava-example/

能够在 R 中运行 rJava。

来自 r 的一些代码:

library(rJava) .jinit("") .jclassPath() [1] "/Library/Frameworks/R.framework/Versions/3.4/Resources/library/rJava/java"

s <- .jnew("java/lang/String", "Hello World!") .jcall(s, "I", "length") [1] 12

这实际上是有效的..但是当我尝试使用我的文件时:

.jaddClassPath("/Users/Camilo/Desktop/20170711_Java2R") .jclassPath() [1] "/Library/Frameworks/R.framework/Versions/3.4/Resources/library/rJava/java" "/Users/Camilo/Desktop/20170711_Java2R"

myExchange <- .jnew("myExchange") Error in .jnew("myExchange") : java.lang.ClassNotFoundException

其中文件 myExchange.java 与指南中的相同,位于桌面的文件夹中。

我做了什么:

基本上我尝试从 R 安装 rJava 但没有成功。然后我按照两个指南从源代码加载 R 中的包 rJava

我遵循了这个指南:

https://github.com/snowflakedb/dplyr-snowflakedb/wiki/Configuring-R-rJava-RJDBC-on-Mac-OS-X (为了能够加载 rJava)

哪里都有

   R CMD javareconf
/usr/libexec/java_home -V

看起来应该是这样。

为了摆脱人们通常遇到的 OpenMP 问题,我遵循了这个指南:

http://thecoatlessprofessor.com/programming/openmp-in-r-on-os-x/#clang-before-3-4-0 (摆脱所有人都有的 OpenMP 问题)。

最后我使用这段代码创建了一个符号链接(symbolic link)

  sudo ln -f -s $(/usr/libexec/java_home)/jre/lib/server/libjvm.dylib /usr/local/lib

而且我能够从 R 安装库。

但是!当我从终端尝试时,出现此错误

   ld: library not found for -lomp
clang-4.0: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [libjri.jnilib] Error 1
make[1]: *** [src/JRI.jar] Error 2
make: *** [jri] Error 2
ERROR: compilation failed for package ‘rJava’

所以我想:库或符号链接(symbolic link)也必须丢失..但没有像 llvm 中那样的文件(已在 llvm 中用 ld: library not found for -lomp 解决)

我知道错误“ClassNotFoundExceptions”可能与 PATH 有关,但应该没问题,因为一开始就声明了。

顺便说一句,我还检查了看起来像这样的 .R/Makevars 文件

  CC=/usr/local/clang4/bin/clang    
CXX=/usr/local/clang4/bin/clang++
LDFLAGS=-L/usr/local/clang4/lib

有什么解决办法吗?提前致谢!我希望这是清楚的。

最佳答案

对我来说,解决方案是安装 https://github.com/coatless/r-macos-clang并添加链接

sudo ln -s /usr/local/clang4/lib/libomp.dylib /usr/local/lib/libomp.dylib

R CMD javareconf 之前,我取消设置 JAVA_HOME

关于java - 使用 OS Sierra 在 R(3.4.1) 中加载 rJava,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45051275/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com