无法在Mac上安装rJava; JNI数据类型的问题

Mik*_*son 7 java macos configuration java-native-interface r

解决!!

请参阅下面的解决方案,以防此问题在将来帮助其他人.

错误

正如标题所描述的那样,它失败了.我收到的错误,当我install.packages('rJava')从R内部尝试时(有一些先前的好检查):

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’
Run Code Online (Sandbox Code Playgroud)

修复尝试

我检查并尝试了以下决议,其中没有一个对我有用:

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


曾经以前有rJava(和RJDBC)正确安装.

[编辑:我后来发现,实际问题是升级到OS X 10.11,El Capitan.]


组态

$ 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)"
Run Code Online (Sandbox Code Playgroud)

Mac OS本身:

System Version: OS X 10.11.1 (15B42)
Run Code Online (Sandbox Code Playgroud)

use*_*253 5

我没有做LD_LIBRARY_PATH,因为它似乎与Mac无关

是的,但Mac有DYLD_LIBRARY_PATH.如果你链接,-ljvm你必须有包含libjvm.dylib在的目录DYLD_LIBRARY_PATH.

也就是说,我发现将JNI程序与-ljli(in lib/jli)链接起来更方便,因为链接的程序-ljvm会在系统没有它时打开安装Apple自己的Java运行库的提示(至少他们在我和我们的客户身上做过) '系统不久前).

编辑:这是dyld文档的链接


Mik*_*son 5

我终于通过我在这里找到的解决方案解决了这个问题.

新的Mac OS X(10.11,El Capitan)在env变量方面遇到了麻烦.


最新的开发风味rJava设法正确处理事情.以下是我要解决的问题:

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

    $ R CMD INSTALL~/Downloads/rJava_0.9-8.tar.gz

(或者无论你把它放在哪里)

这就是全部!