首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在R(3.4.1)中用OS Sierra加载rJava

在R(3.4.1)中用OS Sierra加载rJava
EN

Stack Overflow用户
提问于 2017-07-12 07:36:38
回答 2查看 2.1K关注 0票数 5

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

问题:

我试着遵循这个指南

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

能够在R中运行rJava。

R中的一些代码:

库(RJava) .jinit("") .jclassPath() 1 S <- .jnew("java/lang/String","Hello!“) .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“”/User/Camilo/Desktop/20170711_Java2R“myExchange <- .jnew("myExchange") .jnew("myExchange")中的错误: java.lang.ClassNotFoundException

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

我所做的:

基本上,我试图从R安装rJava,但没有工作。然后,我遵循两个指南,以便能够从源加载包rJava在R中

我遵循这个指南:

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

两个人

代码语言:javascript
复制
   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问题)。

最后,我使用以下代码创建一个符号链接

代码语言:javascript
复制
  sudo ln -f -s $(/usr/libexec/java_home)/jre/lib/server/libjvm.dylib /usr/local/lib

我从R安装了这个库。

但!当我从终端尝试时,我会得到这个错误。

代码语言:javascript
复制
   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: library not found for -lomp解决了)

我知道错误"ClassNotFoundExceptions“可能与路径有关,但应该是可以的,因为在开始时已经声明了。

顺便说一下,我还检查了如下所示的.R/Makevars文件

代码语言:javascript
复制
  CC=/usr/local/clang4/bin/clang    
  CXX=/usr/local/clang4/bin/clang++
  LDFLAGS=-L/usr/local/clang4/lib

有什么办法解决吗?提前感谢!我希望这是明确的。

EN

回答 2

Stack Overflow用户

发布于 2017-09-10 13:50:06

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

代码语言:javascript
复制
sudo ln -s /usr/local/clang4/lib/libomp.dylib /usr/local/lib/libomp.dylib

R CMD javareconf I unset JAVA_HOME之前。

票数 4
EN

Stack Overflow用户

发布于 2017-11-09 03:15:31

这是一个令人困惑的问题,并取决于您的R版本。

对于R3.4用户来说,不要理会所有关于gcc,clang,llvm的声音。R3.4使用clang4.周期。所以你应该这么做

  • 安装clang4
  • 将.R/Makevars更改为指向clang4
  • 安装Java 8
  • R CMD javareconf
  • 为了解决链接问题,sudo ln -s /usr/local/clang4/lib/libomp.dylib /usr/local/lib/libomp.dylib

然后,您应该能够成功地安装rJava。

此外,rJava无法在旧版本的RStudio中正确加载。因此,请确保您已经升级到最新的RStudio。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45051275

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档