2012-11-15 13 views
5

Viene visualizzato un errore quando si desidera caricare rJava. JDK è installato. (Ho eseguito R su una CentOS VM (Cloudera demo vm cdh3u4))Errore durante il caricamento di 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’ 

C'è qualcosa di sbagliato con LD_LIBRARY_PATH impostazioni? Se sì, come posso risolverlo? Ho bisogno che rJava sia in esecuzione per installare i rhdf in seguito.

Qualche informazione in più (se necessario):

[[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) 

risposta

10

Ottenere Rjava al lavoro dipende molto dalla configurazione dei computer. Quanto segue funziona almeno su una piattaforma windows. Potresti provare a controllare, se questo ti aiuterà anche sulla tua piattaforma.

  1. dovete uso la stessa 32bit o 64bit versione per entrambi: R e JDK/JRE. Una miscela di questo non funzionerà mai (almeno per me).
  2. Se si utilizza la versione a 64 bit, assicurarsi di eseguire non impostato su JAVA_HOME come variabile di ambiente. Se questa variabile è impostata, rJava non funzionerà per nessun motivo. È possibile controllare se il vostro JAVA_HOME sia impostata all'interno R con:

    Sys.getenv("JAVA_HOME") 
    

Se avete bisogno di avere JAVA_HOME set (ad esempio, ne avete bisogno per Maven o qualcos'altro), si potrebbe disattivarlo all'interno del vostro R-session con il seguente codice prima di caricare rJava:

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

Questo dovrebbe fare il trucco nella maggior parte dei casi. Inoltre questo risolverà anche il problema Using the rJava package on Win7 64 bit with R. Ho preso in prestito l'idea di disattivare la variabile di ambiente da R: rJava package install failing.

13

Per Ubuntu, oracle-java (7/8) installato. Sarà in questa posizione/usr/lib/jvm e sarà richiesto l'accesso sudo.

Creare il file /etc/ld.so.conf.d/java.conf con le seguenti voci:

/usr/lib/jvm/java-8-oracle/jre/lib/amd64 
/usr/lib/jvm/java-8-oracle/jre/lib/amd64/server 

(Sostituire java-8-Oracle con java-7-Oracle o java-7-openjdk-amd64 a seconda della versione Java)

poi:

sudo ldconfig 

Riavvia RStudio e poi installare il pacchetto Rjava.

+1

Ha risolto tutti i miei problemi con diversi errori visualizzati durante l'installazione di 'rJava',' RWeka', 'FSelector' ecc. Migliaia di" grazie "! –

+1

Questa è la vera soluzione per rJava non trovare la JVM. Ho lottato con un problema simile su win7. È la dir del server che era un problema su entrambe le piattaforme. –

+0

puoi trovare qualche spiegazione più dettagliata nella mia risposta qui - http://stackoverflow.com/a/25932828/3409405 –