rJava 在 OS Sierra 中加载到 R(3.4.1) 中

2024-04-02

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

Problem:

我尝试遵循本指南

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

能够在 R 中运行 rJava。

r 的一些代码:

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

s

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

.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

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

我做了什么:

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

我已遵循本指南:

https://github.com/snowflakedb/dplyr-snowflakedb/wiki/Configuring-R-rJava-RJDBC-on-Mac-OS-X 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 http://thecoatlessprofessor.com/programming/openmp-in-r-on-os-x/#clang-before-3-4-0(摆脱所有人都遇到的 OpenMP 问题)。

最后我使用此代码创建一个符号链接

  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’

所以我认为:库或符号链接也必须丢失..但是 llvm 中没有这样的文件(已在 llvm 中解决ld:找不到 -lomp 的库 https://stackoverflow.com/questions/44579856/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 https://github.com/coatless/r-macos-clang并添加链接

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

Before R CMD javareconf i unset JAVA_HOME.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

rJava 在 OS Sierra 中加载到 R(3.4.1) 中 的相关文章

随机推荐