error package rjava could not be loaded
R: falla en la instalación del paquete rJava (13)
Ejecutando R bajo Gentoo en un AMD64. Me actualicé a R 2.12.0
R versión 2.12.0 (2010-10-15) Copyright (C) 2010 La Fundación R para Computación Estadística ISBN 3-900051-07-0 Plataforma: x86_64-pc-linux-gnu (64-bit) y esos mensajes molestos fueron lejos.
Jan Vandermeer
Cuando instalo rJava utilizando el comando install.packages("rJava")
el siguiente error:
checking Java support in R... present:
interpreter : ''/usr/bin/java''
archiver : ''/usr/bin/jar''
compiler : ''/usr/bin/javac''
header prep.: ''/usr/bin/javah''
cpp flags : ''-I/usr/lib/jvm/java-6-sun-1.6.0.20/jre/../include -I/usr/lib/jvm/java-6-sun-1.6.0.20/jre/../include/linux''
java libs : ''-L/usr/lib/jvm/java-6-sun-1.6.0.20/jre/lib/amd64/server -L/usr/lib/jvm/java-6-sun-1.6.0.20/jre/lib/amd64 -L/usr/lib/jvm/java-6-sun-1.6.0.20/jre/../lib/amd64 -L -L/usr/java/packages/lib/amd64 -L/usr/lib64 -L/lib64 -L/lib -L/usr/lib -ljvm''
checking whether JNI programs can be compiled... yes
checking JNI data types... configure: error: One or more JNI types differ from the corresponding native type. You may need to use non-standard compiler flags or a different compiler in order to fix this.
ERROR: configuration failed for package ‘rJava’
Tengo Java JDK instalado y java -version
devuelve lo siguiente:
$ java -version
java version "1.6.0_20"
Java(TM) SE Runtime Environment (build 1.6.0_20-b02)
Cuando busco el error en Google veo que otros están teniendo el mismo problema pero no encuentran una solución que no sea "instalar todo el JDK, no solo el JRE" que he hecho.
La otra cosa que leí fue ejecutar sudo R CMD javareconf
que funciona bastante feliz sin errores.
Alguna idea de cual es mi problema?
[[EDIT]] Han pasado unos meses desde que tuve este problema. Inicialmente resolví esto editando mis rutas de Java, como se ilustra en la respuesta que publiqué a continuación. Recientemente me encontré con el mismo problema en una nueva instalación de Ubuntu. Probé la recomendación de Dirk para usar apt-get para instalar el paquete rJava. Funcionó perfectamente. Lo que no pude apreciar inicialmente es que instalar paquetes usando el método Ubuntu apt-get es fundamentalmente diferente a simplemente cargar el mismo paquete usando install.packages () dentro de R. Los paquetes de Ubuntu resuelven algunos problemas que no me di cuenta ni aprecié .
El paquete rJava busca la carpeta /usr/lib/jvm/default-java/
. Pero no está disponible por defecto. Esta carpeta tiene un enlace simbólico para el java predeterminado configurado para el sistema.
Para activar el java predeterminado instale los siguientes paquetes:
sudo apt-get install default-jre default-jre-headless
Probado en ubuntu 17.04 con CRAN R 3.4.1
Esto funcionó para mí en Ubuntu 12.04 y R versión 3.0
cd /usr/lib/jvm/java-6-sun-1.6.0.26/include
este es el directorio que tiene jni.h
A continuación, cree un enlace suave a otro archivo de encabezado obligatorio (soy demasiado flojo para descubrir cómo incluir más de un directorio en la opción JAVA_CPPFLAGS a continuación):
sudo ln -s linux/jni_md.h .
Finalmente
sudo R CMD javareconf JAVA_CPPFLAGS=-I/usr/lib/jvm/java-6-sun-1.6.0.26/include
Gracias. Su sugerencia sobre $JAVA_HOME
me llevó a una solución similar:
prompt$ unset JAVA_HOME
antes de invocar a R.
He encontrado un problema similar en Ubuntu 16.04 y pude resolverlo creando una carpeta llamada "default-java" en /usr/lib/jvm
y copiando en ella todos los contenidos de /usr/lib/jvm/java-8-oracle
. Opté por esta solución ya que la corrección de la variable de entorno JAVA_HOME resultó ser inútil.
Intenté instalar openjdk-7- * pero todavía tenía problemas para instalar rJava. Resulta que después de reiniciar mi computadora, entonces no hubo ningún problema.
asi que
sudo apt-get install openjdk-7-*
RESTART after installing java, then try to install package "rJava" in R
Lo conseguí trabajando descargando: https://cran.r-project.org/src/contrib/rJava_0.9-8.tar.gz y ejecutando el comando R CMD install rJava_0.9-8.tar.gz
Lo que funcionó para mí fue cambiar JAVA_HOME del archivo /usr/lib/R/etc/javaconf
Primero verifiqué cuál era mi versión de Java habilitada: sudo update-alternatives --config java
. En mi caso, fue java-8-oracle
Abrí el archivo /usr/lib/R/etc/javaconf
y reemplacé default-java
por java-8-oracle
:
${JAVA_HOME=/usr/lib/jvm/default-java}
reemplazado por :
${JAVA_HOME=/usr/lib/jvm/java-8-oracle}
Y luego sudo R CMD javareconf
Reinicié RStudio, y luego pude instalar rJava.
Me encontré con el mismo problema, y funcionó después de ejecutar comandos a continuación.
export JAVA_LIBS="$JAVA_LIBS -ldl"
R CMD javareconf
Consulte los detalles en http://www-01.ibm.com/support/knowledgecenter/SSPT3X_3.0.0/com.ibm.swg.im.infosphere.biginsights.install.doc/doc/install_install_r.html
No lo haría
apt-get install r-cran-rjava
ha sido más fácil? ¡Podrías haberme preguntado en useR! :)
Resulta que mi problema era un problema con mi variable de entorno JAVA_HOME
. Sí, impactante, lo sé. Mi configuración inicial para PATH
y JAVA_HOME
veía así:
export JAVA_HOME=/usr/lib/jvm/java-6-sun
export PATH=$PATH:$JAVA_HOME/bin
Y agregué /jre
así que ahora se ve así:
export JAVA_HOME=/usr/lib/jvm/java-6-sun/jre
export PATH=$PATH:$JAVA_HOME/bin
Todo en Java parecía funcionar bien sin /jre
pero rJava no. Impar.
a continuación aparece una de mis respuestas en otra publicación: error: no se pueden cargar los paquetes instalados justo ahora
(esto también es relevante para esta pregunta)
Para usuarios de Linux (Ubuntu): si tiene instalado oracle-java (7/8) . Será en esta ubicación /usr/lib/jvm
y se requiere acceso sudo
.
Cree el archivo /etc/ld.so.conf.d/java.conf
con las siguientes entradas:
/usr/lib/jvm/java-8-oracle/jre/lib/amd64
/usr/lib/jvm/java-8-oracle/jre/lib/amd64/server
(Reemplace java-8-oracle con java-7-oracle dependiendo de su versión java)
Entonces:
sudo ldconfig
Reinicie RStudio y luego instale el paquete rJava.
lo que hago está aquí:
en /etc/apt/sources.list, agregue:
deb http://ftp.de.debian.org/debian sid main
Nota: el rjava debe ser la última versión
2 ejecuciones: sudo apt-get update sudo apt-get install r-cran-rjava
Una vez que actualice la versión anterior de rjava, entonces puede instalar rhdfs_1.0.8.