web-dev-qa-db-fra.com

erreur: impossible de charger les paquets installés tout à l'heure

Lorsque j'ai essayé d'exécuter la console R dans Eclipse, j'ai eu cette erreur:

....Please make sure that R package 'rj' (1.1 or compatible) is installed...

J'ai donc essayé de l'installer dans la console R comme ceci:

install.packages(c("rj", "rj.Gd"), repos="http://download.walware.de/rj-1.1")

et j'ai cette erreur:

 ** testing if installed package can be loaded
 Error : .onLoad failed in loadNamespace() for 'rj.Gd', details:
 call: dyn.load(file, DLLpath = DLLpath, ...)
 error: unable to load shared object '/home/alex/R/x86_64-pc-linux-gnu-library/2.15/rj.Gd/libs/rj.Gd.so':
 libjvm.so: cannot open shared object file: No such file or directory
 Error: loading failed
 Execution halted
 ERROR: loading failed

et j’ai trouvé que lors de l’installation de rJava avec: install.packages("rJava"), une erreur similaire se produisait

** testing if installed package can be loaded
Error : .onLoad failed in loadNamespace() for 'rJava', details:
call: dyn.load(file, DLLpath = DLLpath, ...)
error: unable to load shared object '/home/alex/R/x86_64-pc-linux-gnu-library/2.15/rJava/libs/rJava.so':
libjvm.so: cannot open shared object file: No such file or directory
Error: loading failed
Execution halted
ERROR: loading failed

Quand j'ai lancé Sudo R CMD javareconf, j'ai eu cette sortie:

Java interpreter : /usr/bin/Java
Java version     : 1.7.0
Java home path   : /usr/lib/jvm/Java-7-Oracle/jre
Java compiler    : /usr/bin/javac
Java headers gen.: /usr/bin/javah
Java archive tool: /usr/bin/jar
NOTE: Your JVM has a bogus Java.library.path system property!
Trying a heuristic via Sun.boot.library.path to find jvm library...
Java library path: $(Java_HOME)/lib/AMD64:$(Java_HOME)/lib/AMD64/server
JNI linker flags : -L$(Java_HOME)/lib/AMD64 -L$(Java_HOME)/lib/AMD64/server -ljvm
JNI cpp flags    : -I$(Java_HOME)/../include -I$(Java_HOME)/../include/linux

Updating Java configuration in /etc/R
Done.

à propos, ma configuration est:

Ubuntu 11.10 64bit
Eclipse 3.7
Oracle-1.7-jdk
R version 2.15.1 
39
Alex Luya

J'ai trouvé la solution:

export LD_LIBRARY_PATH=/usr/lib/jvm/Java-7-Oracle/lib/AMD64:/usr/lib/jvm/Java-7-Oracle/jre/lib/AMD64/server

puis 

Sudo R CMD javareconf

Remarque: le chemin d'accès (Java-7-Oracle) doit être mis à jour en fonction de votre installation Java.

20
Alex Luya

Pour les utilisateurs de Linux (Ubuntu): Si vous avez Oracle-Java (7/8) installé. Ce sera à cet endroit que l'accès /usr/lib/jvm et Sudo est requis.

Créez le fichier /etc/ld.so.conf.d/Java.conf avec les entrées suivantes:

/usr/lib/jvm/Java-8-Oracle/jre/lib/AMD64
/usr/lib/jvm/Java-8-Oracle/jre/lib/AMD64/server

(Remplacez Java-8-Oracle par Java-7-Oracle en fonction de votre version de Java)

Ensuite:

Sudo ldconfig

Redémarrez RStudio puis installez le package rJava.

OR

Une autre méthode consiste également à exporter LD_LIBRARY_PATH avec la valeur du chemin de la bibliothèque Java obtenue à partir de la commande R CMD javareconf -e et à exécuter install.packages.

75
Tejus Prasad

J'ai eu un problème similaire et j'ai pu le résoudre en exécutant 

R CMD javareconf -e

Sortie du javareconf -e CMD-e

Java interpreter : /export/apps/jdk/JDK-1_6_0_27/jre/bin/Java
Java version     : 1.6.0_27
Java home path   : /export/apps/jdk/JDK-1_6_0_27
Java compiler    : /export/apps/jdk/JDK-1_6_0_27/bin/javac
Java headers gen.: /export/apps/jdk/JDK-1_6_0_27/bin/javah
Java archive tool: /export/apps/jdk/JDK-1_6_0_27/bin/jar
Java library path: /export/apps/jdk/JDK-1_6_0_27/jre/lib/AMD64/server:/export/apps/jdk/JDK-1_6_0_27/jre/lib/AMD64:/export/apps/jdk/JDK-1_6_0_27/jre/../lib/AMD64:/usr/Java/packages/lib/AMD64:/usr/lib64:/lib64:/lib:/usr/lib
JNI linker flags : -L/export/apps/jdk/JDK-1_6_0_27/jre/lib/AMD64/server -L/export/apps/jdk/JDK-1_6_0_27/jre/lib/AMD64 -L/export/apps/jdk/JDK-1_6_0_27/jre/../lib/AMD64 -L/usr/Java/packages/lib/AMD64 -L/usr/lib64 -L/lib64 -L/lib -L/usr/lib -ljvm
JNI cpp flags    : -I/export/apps/jdk/JDK-1_6_0_27/include -I/export/apps/jdk/JDK-1_6_0_27/include/linux

The following Java variables have been exported:
Java_HOME Java JAVAC JAVAH JAR Java_LIBS Java_CPPFLAGS Java_LD_LIBRARY_PATH
Running: /bin/bash

Après avoir défini LD_LIBRARY_PATH sur la même valeur que Java_LD_LIBRARY_PATH, comme indiqué dans la sortie ci-dessus. J'ai pu installer rj.

export LD_LIBRARY_PATH=/export/apps/jdk/JDK-1_6_0_27/jre/lib/AMD64/server:/export/apps/jdk/JDK-1_6_0_27/jre/lib/AMD64:/export/apps/jdk/JDK-1_6_0_27/jre/../lib/AMD64:/usr/Java/packages/lib/AMD64:/usr/lib64:/lib64:/lib:/usr/lib

Exécutez R puis installez rj en

install.packages(c("rj", "rj.Gd"), repos="http://download.walware.de/rj-1.1")
27
user73515

J'ai fait ce qui suit et cela a fonctionné pour moi:

export LD_LIBRARY_PATH=$Java_LD_LIBRARY_PATH
Sudo R CMD javareconf

Je devais redémarrer R aussi.

9
Ankit

Des années plus tard, j'ai fini par répondre à cette question après avoir recherché une erreur signalée par R après avoir installé sans succès un package qui nécessitait de passer à Java.

Tout ce que j'avais à faire pour le réparer était:

$ Sudo R CMD javareconf

3
user3673

ou simplement définir la bibliothèque dans R?

Je viens de lancer cette commande dans R:

Sys.setenv(Java_HOME='/usr/lib/jvm/Java-7-openjdk-AMD64/jre/lib/AMD64/server')

(remplacez "/ usr/lib/jvm/Java-7-openjdk-AMD64/jre/lib/AMD64/server" par le chemin de votre bibliothèque Java disponible sous "Sudo R CMD javareconf")

Ce n’est peut-être pas la solution la plus élégante, mais elle a fonctionné pour moi!

2
Emil Lykke Jensen

Je n'avais pas installé le jdk que je pouvais réparer avec Sudo apt-get install jdk-* Après cela, je pouvais exécuter le Sudo R CMD javareconf qui entraînait toujours un message d'erreur auparavant. Tout était configuré correctement et aucune modification manuelle n'était requise, et après l'installation de ce package s'est déroulée sans problème en mode R (redémarrage requis). 

1
joaoal

Aucune des solutions ci-dessus n'a fonctionné pour moi. La seule solution permettant d'installer rJava sous Linux Ubuntu sans aucun problème était de passer la commande RScript après l'installation de la base R: 

$ Sudo Rscript -e 'install.packages("rJava", repos = "http://cran.r-project.org/")'
0
simtim

Cela corrige le problème LD_LIBRARY_PATH pour moi (Linux, Debian 7.1.0, tc-Shell, R version 3.0.2):

Ajoutez cette ligne à .cshrc:

setenv LD_LIBRARY_PATH $ Java_HOME/jre/lib/AMD64: $ Java_HOME/jre/lib/AMD64/serveur

Ajouter cette commande à ~/.login ne suffisait pas; la variable d'environnement LD_LIBRARY_PATH n'était toujours pas connue dans les nouveaux xterms: echo $ LD_LIBRARY_PATH: LD_LIBRARY_PATH: Variable non définie. (Pourquoi??)

Curieusement, lorsque vous démarrez R en tant que superutilisateur, la recherche de libjvm.so ne posait aucun problème. 

0
user3346151

Lorsque vous rencontrez des erreurs limjvm.so manquantes, assurez-vous que la bonne ldpaths est sélectionnée dans la configuration standard dans /etc/R et celle dans /usr/lib/R/etc.

0
jnas

J'ai résolu ce problème en exécutant simplement R avec Sudo, puis install.packages('rJava`).

0
rsmith54