R: falla en la instalación del paquete rJava

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

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.

Gracias. Su sugerencia sobre $JAVA_HOME me llevó a una solución similar:

 prompt$ unset JAVA_HOME 

antes de invocar a R.

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

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 

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.

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

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

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.

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

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

El problema era que rJava no se instalaría en RStudio ( Version 1.0.136 ). Lo siguiente funcionó para mí ( macOS Sierra version 10.12.6 ) (se encuentra aquí ):

Paso-1: Descargue e instale javaforosx.dmg desde aquí

Paso 2: Luego, ejecuta el comando desde dentro de RStudio:

 install.packages("rJava", type = 'source') 

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.