2017-02-20 111 views
2

我一直在閱讀過去24小時內的各種解決方案。他們不爲我工作。在OSX上運行RrJava El Capitan

我試圖得到一個安裝在R的包glmulti。它想要rJava

需要Java的版本6(或1.6),它被發現爲javaforosx 2015-001。我安裝了它。該指令,則建議使用命令sudo R CMD javareconf重新配置R,我遇到了一個錯誤:

Java interpreter : /usr/bin/java 
Java version  : 1.6.0_65 
Java home path : /Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home 
Java compiler : /usr/bin/javac 
Java headers gen.: /usr/bin/javah 
Java archive tool: /usr/bin/jar 
System Java on macOS 

trying to compile and link a JNI program 
detected JNI cpp flags : -I/System/Library/Frameworks/JavaVM.framework/Headers 
detected JNI linker flags : -framework JavaVM 
clang -I/Library/Frameworks/R.framework/Resources/include -DNDEBUG -I/System/Library/Frameworks/JavaVM.framework/Headers -I/usr/local/include -I/usr/local/include/freetype2 -I/opt/X11/include -fPIC -Wall -mtune=core2 -g -O2 -c conftest.c -o conftest.o 
conftest.c:1:10: fatal error: 'jni.h' file not found 
#include <jni.h> 

有很多的提示做什麼,但沒有對我的作品的頁面。

我看了 http://conjugateprior.org/2014/12/r-java8-osx/ 的建議,並認爲也許我應該使用Oracle的Java 8。也安裝了。

奇怪的是,在安裝java 8之後,系統首選項頁面上的Java控制面板表示我有java 1.8.0_121,並且給出的路徑是 /Library/Internet Plug-Ins/JavaAppletPlugin.plugin /內容/首頁/斌/ java的。

但是,如果我做終端命令/usr/libexec/java_home我得到

/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home 

,如果我做/usr/libexec/java_home -v 1.8我得到

Unable to find any JVMs matching version "1.8". 
/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home 

其他人聲稱,這個命令應該給了1.8.0路徑。

來自Oracle的測試網頁聲稱我確實安裝了1.8.0。 命令java -version索賠,我運行

java version "1.6.0_65" 
Java(TM) SE Runtime Environment (build 1.6.0_65-b14-468-11M4833) 
Java HotSpot(TM) 64-Bit Server VM (build 20.65-b04-468, mixed mode) 

這一切後,第一個問題似乎是如何獲得的jni.h保持?

如果您需要更多信息,只需詢問。

+0

您是否安裝了Java 8 JDK? JRE是不夠的。 –

回答

1

到這裏看看:

http://www.owsiak.org/?p=3671

,你可以找到關於如何應對R,Java和rJava在MacOS上有相當詳細的解釋。

您需要採取一些措施才能使整個流程順利進行。

與R和JNI玩得開心!

+0

.oOo。我喜歡在早上沒有任何評論的投票;).oOo。 – mko