web-dev-qa-db-fra.com

Impossible d'installer rJava dans R 3.0 dans Ubuntu 13.04

Je ne parviens pas à appeler le package rJava dans R 3.0. J'ai reçu le message suivant

Error: package ‘rJava’ was built before R 3.0.0: please re-install it

Je reçois une erreur lorsque j'ai essayé de réinstaller le package rJava. J'ai fourni la sortie de 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.

J'utilise Ubuntu 13.04. J'ai aussi essayé apt-get install r-cran-rjava ce qui n'aide pas à résoudre le problème. En ce qui concerne jni.h, il y avait une solution ici. Mais, je ne sais pas comment puis-je utiliser la solution ici.

53
vinux

J'ai rencontré exactement le même problème. Ma solution a été d'installer openjdk-7- * via

Sudo apt-get install openjdk-7-*

A suivi avec

Sudo R CMD javareconf

et j'ai ensuite pu installer rJava dans R via install.packages("rJava").

Bien que ce ne soit peut-être pas la solution la plus élégante, il semble avoir résolu mes problèmes pour faire fonctionner rJava.

74
Peter

Pour ceux qui obtiennent l'erreur:

error: unable to load shared object '/some/dir/rJava/libs/rJava.so': libjvm.so: 
cannot open shared object file: No such file or directory

J'ai résolu l'erreur en localisant la bibliothèque dans le système et en les liant à /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/ 
27
kahlo

L'installation de rJava à partir des packages de distribution comme proposé dans cette réponse askUbunt fonctionne également:

Sudo apt-get install r-cran-rjava

NOTE: essayé depuis un système Debian.

2
atfornes