请参阅下面的解决方案,以防此问题在将来帮助其他人。
正如标题所描述的那样,它失败了。当我从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’
我已经检查并尝试了以下决议,其中没有一项对我有用:
export JAVA_HOME
但是在这种情况下,我没有使用LD_LIBRARY_PATH,因为它似乎与Mac无关。
没有这样的运气,任何这些尝试。
我 以前安装了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)
答案 0 :(得分:5)
我没有使用LD_LIBRARY_PATH,因为它似乎与Mac无关
是的,但Mac有DYLD_LIBRARY_PATH
。如果您与-ljvm
相关联,则必须在libjvm.dylib
中包含DYLD_LIBRARY_PATH
的目录。
也就是说,我发现将JNI程序与-ljli
(lib/jli
)链接更方便,因为与-ljvm
链接的程序将打开安装Apple自己的Java运行时的提示当系统没有它时(至少他们之前在我和我们客户的系统上做过)。
编辑:这是指向dyld documentation
的链接答案 1 :(得分:5)