not - R: falla en la instalación del paquete rJava




loading required package rjava in r (9)

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é .


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


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


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.



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.


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.


lo que hago está aquí:

  1. 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.