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

时间:2015-11-19 22:19:14

标签: java r macos configuration java-native-interface

分辨!!

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

错误

正如标题所描述的那样,它失败了。当我从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,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)"

Mac OS本身:

System Version: OS X 10.11.1 (15B42)

2 个答案:

答案 0 :(得分:5)

  

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

是的,但Mac有DYLD_LIBRARY_PATH。如果您与-ljvm相关联,则必须在libjvm.dylib中包含DYLD_LIBRARY_PATH的目录。

也就是说,我发现将JNI程序与-ljlilib/jli)链接更方便,因为与-ljvm链接的程序将打开安装Apple自己的Java运行时的提示当系统没有它时(至少他们之前在我和我们客户的系统上做过)。

编辑:这是指向dyld documentation

的链接

答案 1 :(得分:5)

我终于通过我找到here的解决方案解决了这个问题。

新版Mac OS X(10.11,El Capitan)在env变量方面存在问题。

rJava的最新开发风格设法正确处理事情。以下是我为解决这个问题所做的工作:

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

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

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

    这就是全部!