在 Mac 上安装 rJava 时遇到问题; JNI 数据类型的问题

Trouble installing rJava on Mac ; trouble with JNI data types

已解决!!

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

错误

如标题所述,它对我来说失败了。当我尝试从 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’

修复尝试

我已经检查并尝试了以下解决方案,none 对我有用:

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


之前正确安装了 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)

I did not do the LD_LIBRARY_PATH, as it did not seem relevant to a Mac

是的,但是 Mac 有 DYLD_LIBRARY_PATH。如果你 link 和 -ljvm 你必须在 DYLD_LIBRARY_PATH.

中有包含 libjvm.dylib 的目录

也就是说,我发现 link 使用 -ljli(在 lib/jli 中)的 JNI 程序更方便,因为程序 link 使用 -ljvm 将在系统没有安装 Apple 自己的 Java 运行时时打开一个提示(至少他们在我和我们客户的系统上安装了一段时间)。

编辑:这是 link 到 dyld documentation

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

新的 Mac OS X(10.11,El Capitan)在环境变量方面有问题。


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

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

    $ R 命令安装 ~/Downloads/rJava_0.9-8.tar.gz

(或者你放在哪里)

就这些了!