2015-11-19 82 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文檔非常棒。然而,這不是我的問題,你會在下面看到。 –