Bonjour, j'ai des problèmes avec le paquetage rJava de cran.
J'ai installé
Sudo apt-get install openjdk-7-jdk
Sudo apt-get install r-cran-rjava
et a couru
Sudo R CMD javareconf
# Java interpreter : /usr/bin/Java
# Java version : 1.7.0_55
# Java home path : /usr/lib/jvm/Java-7-openjdk-AMD64/jre
# Java compiler : /usr/bin/javac
# Java headers gen.: /usr/bin/javah
# Java archive tool: /usr/bin/jar
J'essaie ensuite d'exécuter R et de charger rJava et d'obtenir l'erreur suivante:
R
> library(rJava)
Error : .onLoad failed in loadNamespace() for 'rJava', details:
call: dyn.load(file, DLLpath = DLLpath, ...)
error: unable to load shared object '/usr/lib/R/site-library/rJava/libs/rJava.so':
libjvm.so: cannot open shared object file: No such file or directory
Error: package or namespace load failed for ‘rJava’
Je suis sur Ubuntu 14.04 64 bits et j'utilise R version 3.1.0 (2014-04-10) - "Spring Dance"
UPDATE: En réalité, ceci n'est pas spécifique à OpenJDK, je viens d'essayer Oracle Java 8 et j'ai obtenu le même résultat. J'ai également trouvé cette solution de contournement ici que je suis réticent à utiliser car il s'agit en fait d'une solution de contournement qui n'explique pas vraiment pourquoi elle est nécessaire. Le système de colis aurait dû gérer cela à mon avis. On dirait que libjvm.so est le problème et je le trouve ici
/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-Oracle/jre/lib/AMD64/server/libjvm.so
et pour une raison quelconque, rJava ne parvient pas à les trouver malgré la mise à jour avec Sudo R CMD javareconf.
UPDATE 2: L'intrigue s'épaissit: Si je lance R comme Sudo ça marche.
Merci pour les pointeurs.
J'ai eu le même problème avec une configuration similaire (R 3.1.0, Ubuntu 12.10, 32 bits). J'ai trouvé que la réponse était d'obtenir LD_LIBRARY_PATH correctement défini, comme décrit ici: erreur: impossible de charger les packages installés pour le moment sauf que le sous-répertoire en question est "client" et non "serveur". Alors maintenant, je configure mon environnement comme ceci:
export Java_HOME=/usr/lib/jvm/Java-7-openjdk-i386
export LD_LIBRARY_PATH=$Java_HOME/jre/lib/i386:$Java_HOME/jre/lib/i386/client
vous pouvez résoudre ce problème en ouvrant rstudio en super utilisateur comme
Sudo rstudio
puis à l'intérieur de la course R
install.packages('rJava')
J'ai pu résoudre ce problème en utilisant cette réponse: https://stackoverflow.com/a/25932828/3939832
Ceci est utile si vous avez installé Oracle Java 7 ou 8. L'exportation de variables dans mon cas n'était pas une solution permanente. Vous devriez vérifier ce que R utilise comme environnement en faisant:
Sys.getenv("Java_HOME")
vous pouvez ensuite utiliser cet environnement en créant un fichier Java.conf
, on /etc/ld.so.conf.d/
, comme indiqué dans le lien de réponse ci-dessus.
si vous utilisez Oracle Java, utilisez la commande suivante:
Sudo R CMD javareconf
ne va pas aider à utiliser:
Sudo R CMD javareconf **Java_HOME**=(path where Java home is located)
J'ai essayé beaucoup de choses mais je n'ai pas travaillé. Puis j'ai essayé d'utiliser
Sudo rstudio
et alors
install.packages('rJava')
Ça marche. Coool
L'installation du package rJava sur Ubuntu n'est pas aussi simple que la plupart des autres packages R. Quelques notes rapides sur la façon de le faire (Source: https://www.r-bloggers.com/installing-rjava-on-ubuntu/ ).
Install the Java Runtime Environment (JRE).
Sudo apt-get install -y default-jre
Install the Java Development Kit (JDK).
Sudo apt-get install -y default-jdk
Update where R expects to find various Java files.
Sudo R CMD javareconf
Install the package.
> install.packages("rJava")
If you have a RStudio session open, then exit and restart it. This is important (a running RStudio session will not pick up these changes!).