我遇到了許多其他人似乎在某個點或另一個點上遇到的rJava問題。當R CMD INSTALL
測試是否可以編譯JNI程序時發生該錯誤。rJava無法安裝(MacOS,Red Hat)
輸出建議運行R CMD javareconf -ed
或sudo R CMD javareconf
後者的輸出是:
computer: home$ sudo R CMD javareconf
Java interpreter : /usr/bin/java
Java version : 1.6.0_31
Java home path : /System/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
Java library path:
JNI linker flags : -framework JavaVM
JNI cpp flags : -I$(JAVA_HOME)/include
Updating Java configuration in /Library/Frameworks/R.framework/Resources
Done.
,並試圖事後安裝rJava時,
computer: home$ R CMD INSTALL ~/Downloads/rJava_0.9-4.tar.gz
* installing to library ‘/Library/Frameworks/R.framework/Versions/2.15/Resources/library’
* installing *source* package ‘rJava’ ...
checking for gcc... gcc -arch x86_64 -std=gnu99
checking for C compiler default output file name... a.out
/* Passes all checks */
configure: checking whether gcc -arch x86_64 -std=gnu99 supports static inline...yes
checking whether setjmp.h is POSIX.1 compatible... yes
checking whether sigsetjmp is declared... yes
checking whether siglongjmp is declared... yes
checking Java support in R... present:
interpreter : '/usr/bin/java'
archiver : '/usr/bin/jar'
compiler : '/usr/bin/javac'
header prep.: '/usr/bin/javah'
cpp flags : '-I/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/include'
java libs : '-framework JavaVM'
checking whether JNI programs can be compiled... configure: error: Cannot compile a simple JNI program. See config.log for details.
Make sure you have Java Development Kit installed and correctly registered in R.
If in doubt, re-run "R CMD javareconf" as root.
ERROR: configuration failed for package ‘rJava’
* removing ‘/Library/Frameworks/R.framework/Versions/2.15/Resources/library/rJava’
* restoring previous ‘/Library/Frameworks/R.framework/Versions/2.15/Resources/library/rJava’
其中/usr/bin/javac
被/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/Home
代替另一種嘗試失敗只是一樣。
我運行Mac OS 10.7.3和
computer: home$ java -version
java version "1.6.0_31"
Java(TM) SE Runtime Environment (build 1.6.0_31-b04-415-11M3646)
Java HotSpot(TM) 64-Bit Server VM (build 20.6-b01-415, mixed mode)
以下是我.bash_profile
export JAVA_HOME=/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
此外,我對紅帽同樣的問題。我希望提供的任何修補程序也能在那裏工作,但如果它不會,以及爲什麼它不知道,請解釋。
我一直在使用這個網站的令人難以置信的知識庫幾年來,但這是我的第一篇文章。 Mucho提前致謝。
一些(不是全部)的資源我已經通過瀏覽是
- https://stat.ethz.ch/pipermail/r-devel/2008-November/051224.html
- https://stat.ethz.ch/pipermail/r-help/2008-October/177688.html
- R: rJava package install failing
請注意,在最後一個環節的apt-get
解決方案對我沒有用(我認爲),除非有對於port
和/或的equiv解決方案。
AFAIK OS X 10.7不與JDK再出貨調用R上。可能是你必須[下載](http://connect.apple。com)並手動安裝。 – fotNelton
這樣做。具體來說,我去了你提供的鏈接,安裝了JDK,設置了''JAVA_HOME =/Library/Java/JavaVirtualMachines/1.6.0_33-b03-424.jdk/Contents/Home'',輸入''R CMD javareconf -ed ''然後從命令行安裝rJava。非常感謝你。 – artdv
在Red Hat工作也是如此。在''.bash_profile''和''sudo yum install R-devel.x86_64''中導出JAVA_HOME =/etc/alternatives/java_sdk_openjdk',然後是''sudo R CMD javareconf''和''R CMD INSTALL'' – artdv