2012-11-15 33 views
5

Ich bekomme einen Fehler, wenn ich rJava laden möchte. JDK ist installiert. (I R auf einem CentOS VM laufen (cloudera Demo vm cdh3u4))Fehler beim Laden von rJava

> library(rJava) 

Error : .onLoad failed in loadNamespace() for 'rJava', details: 
    call: dyn.load(file, DLLpath = DLLpath, ...) 
    error: unable to load shared object '/home/cloudera/R/x86_64-redhat-linux-gnu-library/2.15/rJava/libs/rJava.so': 
    libjvm.so: cannot open shared object file: No such file or directory 
Error: package/namespace load failed for ‘rJava’ 

Gibt es etwas falsch mit LD_LIBRARY_PATH Einstellungen? Wenn ja, wie kann ich das beheben? Ich brauche rJava ausgeführt, um rhdfs später zu installieren.

Einige weitere Informationen (falls erforderlich):

[[email protected] ~]$ java -version 
java version "1.6.0_31" 
Java(TM) SE Runtime Environment (build 1.6.0_31-b04) 
Java HotSpot(TM) 64-Bit Server VM (build 20.6-b01, mixed mode) 

Antwort

10

rjava an die Arbeit hängt stark von Ihrer Computer-Konfiguration. Folgendes funktioniert mindestens auf einer Windows Plattform. Sie können versuchen zu überprüfen, ob dies auch auf Ihrer Plattform hilft.

  1. Sie müssen Verwendung der gleichen 32-Bit- oder 64-Bit-Version für beide: R und JDK/JRE. Eine Mischung davon wird nie funktionieren (zumindest für mich).
  2. Wenn Sie 64-Bit-Version stellen Sie sicher, verwenden, dass Sie nicht JAVA_HOME als enviorment Variable gesetzt. Wenn diese Variable gesetzt ist, funktioniert rJava aus irgendeinem Grund nicht. Sie können überprüfen, ob Ihr JAVA_HOME innerhalb R mit gesetzt:

    Sys.getenv("JAVA_HOME") 
    

Wenn Sie JAVA_HOME Set haben (zB Sie es für Maven oder etwas anderes benötigen), können Sie es in Ihrem R-Sitzung deaktivieren könnte mit dem folgenden Code vor dem Laden rJava:

if (Sys.getenv("JAVA_HOME")!="") 
    Sys.setenv(JAVA_HOME="") 
library(rJava) 

Dies sollte in den meisten Fällen den Trick tun. Außerdem behebt dies die Ausgabe Using the rJava package on Win7 64 bit with R. Ich entlehnte die Idee, die Umgebungsvariable von R: rJava package install failing zu löschen.

13

Für Ubuntu, Oracle-Java (7/8) installiert. Es wird an diesem Ort sein/usr/lib/jvm und Sudo-Zugriff ist erforderlich.

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 java-8-Orakel mit Java-7-Orakel oder Java-7-openjdk-amd64 auf Ihrer Java-Version abhängig)

dann

:

sudo ldconfig 

Restart RStudio und installieren Sie das rjava Paket.

+1

Es löste alle meine Probleme mit verschiedenen Fehlern, die während der Installation von 'rJava',' RWeka', 'FSelector' usw. auftraten. Tausende od" Danke "! –

+1

Dies ist die echte Lösung, damit rJava die JVM nicht finden kann. Ich habe mit einem ähnlichen Problem auf win7 gerungen. Es ist das Server-Verzeichnis, das auf beiden Plattformen ein Problem war. –

+0

können Sie einige ausführlichere Erklärung in meiner Antwort hier finden - http://stackoverflow.com/a/25932828/3409405 –

Verwandte Themen