R 3.0
のrJava
パッケージを呼び出すことができません。私は次のメッセージを受け取りました
Error: package ‘rJava’ was built before R 3.0.0: please re-install it
rJava
パッケージを再インストールしようとするとエラーが発生します。 R CMD javareconf
の出力を提供しました
Java interpreter : /usr/bin/Java
Java version : 1.7.0_21
Java home path : /usr/lib/jvm/Java-7-openjdk-i386/jre
Java compiler : /usr/lib/jvm/Java-7-openjdk-i386/jre/../bin/javac
Java headers gen.: /usr/lib/jvm/Java-7-openjdk-i386/jre/../bin/javah
Java archive tool: /usr/lib/jvm/Java-7-openjdk-i386/jre/../bin/jar
trying to compile and link a JNI progam
detected JNI cpp flags :
detected JNI linker flags :
gcc -std=gnu99 -I/usr/share/R/include -DNDEBUG -fpic -O2 -pipe -g -c conftest.c -o conftest.o
conftest.c:1:17: fatal error: jni.h: No such file or directory
compilation terminated.
make: *** [conftest.o] Error 1
Unable to compile a JNI program
Java library path:
JNI cpp flags :
JNI linker flags :
Updating Java configuration in /usr/lib/R
Done.
Ubuntu 13.04を使用しています。また、apt-get install r-cran-rjava
を試しましたが、これは問題の解決に役立ちません。 jni.hに関しては、いくつかの解決策がありました こちら しかし、ここでどのように解決策を使用できるかはわかりません。
私はまったく同じ問題に遭遇しました。私の解決策は、openjdk-7- *をインストールすることでした
_Sudo apt-get install openjdk-7-*
_
それに続いて
_Sudo R CMD javareconf
_
そして、install.packages("rJava")
を介してRにrJavaをインストールすることができました。
おそらく最もエレガントなソリューションではありませんが、rJavaを動作させることに関する私の問題を解決したようです。
エラーが発生する場合:
error: unable to load shared object '/some/dir/rJava/libs/rJava.so': libjvm.so:
cannot open shared object file: No such file or directory
システム内のライブラリを見つけて/usr/lib
にリンクするエラーを解決しました:
$Sudo updatedb
$locate libjvm.so
/usr/lib/debug/usr/lib/jvm/Java-7-openjdk-AMD64/jre/lib/AMD64/server/libjvm.so
/usr/lib/debug/usr/lib/jvm/Java-7-openjdk-AMD64/jre/lib/AMD64/zero/libjvm.so
/usr/lib/jvm/Java-7-openjdk-AMD64/jre/lib/AMD64/jamvm/libjvm.so
/usr/lib/jvm/Java-7-openjdk-AMD64/jre/lib/AMD64/server/libjvm.so
/usr/lib/jvm/Java-7-openjdk-AMD64/jre/lib/AMD64/zero/libjvm.so
$Sudo ln -s /usr/lib/jvm/Java-7-openjdk-AMD64/jre/lib/AMD64/server/libjvm.so /usr/lib/
このaskUbuntuの答え で提案されているように、配布パッケージからrJavaをインストールすることもできます:
Sudo apt-get install r-cran-rjava
注:Debianシステムから試してみました。