【发布时间】:2017-07-12 07:36:38
【问题描述】:
我在最新版本的 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 的一些代码:
库(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(能够加载 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 问题)。
最后我使用这段代码创建了一个符号链接
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: 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
任何想法如何解决它?提前致谢!我希望这很清楚。
【问题讨论】:
-
一个月后没有人可以帮助我...有什么想法吗?