2015-11-19 75 views
7

解决!

查看我的解决方案,以防万一这个问题在未来帮助其他人。在Mac上安装rJava时遇到麻烦; JNI数据类型的问题

错误

正如标题所述,它没有我。我收到,当我从在'r尝试install.packages('rJava')误差(有一些前述好的支票):

checking whether JNI programs can be compiled... yes 
checking JNI data types... configure: error: One or more JNI types differ from the corresponding native type. You may need to use non-standard compiler flags or a different compiler in order to fix this. 
ERROR: configuration failed for package ‘rJava’ 
* removing ‘/usr/local/lib/R/3.2/site-library/rJava’ 

修复尝试

我已经确认并尝试下列分辨率,没有它的工作对我来说:

没有这样的运气,有任何这些尝试。


以前安装的正确rJava(和RJDBC)。

[编辑:我后来才发现,实际的问题是升级到OS X 10.11,埃尔卡皮坦]


配置

$ java -version 
java version "1.8.0_45" 

> R.Version() 
$platform 
[1] "x86_64-apple-darwin15.0.0" 
$version.string 
[1] "R version 3.2.2 (2015-08-14)" 

的Mac OS本身:

System Version: OS X 10.11.1 (15B42) 

+0

上面的解决方案使rJava工作。然而,为了让事情为RStudio(而不仅仅是命令行)工作,我还需要按照在这里回答中找到的建议:http://stackoverflow.com/questions/30738974/rjava-load-error-in-rstudio -r-after-upgrade-to-osx-yosemite –

回答

5

我终于解决了这个链接,通过一个解决方案,我发现here

新的Mac OS X(10.11,埃尔卡皮坦)与ENV变量的麻烦。


rJava的最新开发风味管理正确处理的事情。这是我做过什么来解决它:

  1. 下载版本0.9-8(rJava_0.9-8.tar.gz)从here
  2. 从下载源安装:

    $ R CMD INSTALL〜/下载/ rJava_0。 9-8.tar.gz

(或任何你把它),这是所有

我t拿了!

5

我没有做LD_LIBRARY_PATH,因为它似乎并没有相关到Mac

是的,但Mac有DYLD_LIBRARY_PATH。如果你与-ljvm链接,你必须有目录libjvm.dylibDYLD_LIBRARY_PATH

这么说,我发现它更方便JNI程序与-ljli(在lib/jli)联系起来,因为-ljvm链接的程序会打开一个提示安装苹果自己的Java运行时,系统没有它(至少他们前段时间在我和我们客户的系统上做过)。

编辑:这里是到dyld documentation

+0

谢谢你提供这些细节! DYLD文档非常棒。然而,这不是我的问题,你会在下面看到。 –