loading required package rjava in r not




R: falla en la instalación del paquete rJava (13)

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

https://code.i-harness.com


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


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


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í:

  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.