wake-up-neo.net

fehler: Installierte Pakete können jetzt nicht geladen werden

Beim Versuch, die R-Konsole in Eclipse auszuführen, habe ich folgende Fehlermeldung erhalten:

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

Also habe ich versucht, es so in der R-Konsole zu installieren:

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

und bekam diesen Fehler:

 ** 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

und ich fand, dass bei der Installation von rJava mit: install.packages("rJava") ein ähnlicher Fehler auftritt

** 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

Wenn ich Sudo R CMD javareconf starte, erhielt ich folgende Ausgabe:

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.

meine Konfiguration ist übrigens:

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

Ich habe die Lösung gefunden:

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

dann 

Sudo R CMD javareconf

Hinweis: Der Pfad (Java-7-Oracle) muss basierend auf Ihrer Java-Installation aktualisiert werden.

20
Alex Luya

Für Benutzer von Linux (Ubuntu): Wenn Sie Oracle-Java (7/8) installiert haben. Es wird sich an diesem Ort /usr/lib/jvm und Sudo Zugriff befinden.

Erstellen Sie die Datei /etc/ld.so.conf.d/Java.conf mit folgenden Einträgen:

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

(Ersetzen Sie Java-8-Oracle durch Java-7-Oracle, abhängig von Ihrer Java-Version.)

Dann:

Sudo ldconfig

Starten Sie RStudio neu und installieren Sie das rJava-Paket.

OR

Alternativ können Sie auch LD_LIBRARY_PATH mit dem Wert des Java-Bibliothekspfads exportieren, den Sie mit dem Befehl R CMD javareconf -e erhalten, und install.packages ausführen.

75
Tejus Prasad

Ich habe ein ähnliches Problem bekommen und konnte es durch Ausführen lösen 

R CMD javareconf -e

Ausgabe des R CMD javareconf -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

Nachdem Sie LD_LIBRARY_PATH auf den gleichen Wert wie Java_LD_LIBRARY_PATH gesetzt haben, wie in der obigen Ausgabe angegeben. Ich konnte rj installieren.

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

Führen Sie R aus und installieren Sie dann rj durch

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

Ich habe folgendes getan und es hat für mich funktioniert:

export LD_LIBRARY_PATH=$Java_LD_LIBRARY_PATH
Sudo R CMD javareconf

Ich musste R dann auch neu starten.

9
Ankit

Jahre später fand ich diese Frage, nachdem ich nach einem von R gemeldeten Fehler gesucht hatte, nachdem ich erfolglos ein Paket installiert hatte, das auf Oracle umgestellt wurde.

Alles was ich tun musste, um das zu beheben, war:

$ Sudo R CMD javareconf

3
user3673

oder einfach die Bibliothek in R?

Ich habe diesen Befehl gerade in R ausgeführt:

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

(Ersetzen Sie "/ usr/lib/jvm/Java-7-openjdk-AMD64/jre/lib/AMD64/server" durch Ihren Java-Bibliothekspfad, der unter "Sudo R CMD javareconf" ausgeführt wird.

Vielleicht nicht die eleganteste Lösung - aber es hat für mich funktioniert!

2

Ich hatte nicht das jdk installiert, das ich mit Sudo apt-get install jdk-*____ reparieren konnte. Danach konnte ich den Sudo R CMD javareconf ausführen, der zuvor immer eine Fehlermeldung angezeigt hat. Alles war korrekt eingestellt und es wurden keine manuellen Tweets benötigt, und danach lief die Paketinstallation reibungslos in R (Neustart erforderlich). 

1
joaoal

Keine der oben genannten Funktionen funktionierte für mich. Die einzige Lösung, die rJava unter Linux Ubuntu problemlos installierte, bestand darin, den Befehl RScript nach der Installation des Basis-R zu übergeben: 

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

Dies behebt das LD_LIBRARY_PATH-Problem für mich (Linux, Debian 7.1.0, tc-Shell, R Version 3.0.2):

Fügen Sie diese Zeile zu .cshrc hinzu:

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

Das Hinzufügen dieses Befehls zu ~/.login war nicht genug; Die Umgebungsvariable LD_LIBRARY_PATH war in neuen Xterms noch nicht bekannt: echo $ LD_LIBRARY_PATH: LD_LIBRARY_PATH: Undefinierte Variable. (Warum??)

Interessanterweise gab es beim Starten von R als Superuser kein Problem, libjvm.so zu finden. 

0
user3346151

Stellen Sie bei fehlenden limjvm.so-Fehlern sicher, dass die richtige ldpaths von der Standardkonfiguration in /etc/R gegenüber der in /usr/lib/R/etc abgerufen wird.

0
jnas

Ich habe dies behoben, indem ich einfach R mit Sudo und dann install.packages('rJava`) lief.

0
rsmith54