Mot-clé - java

Fil des billets

samedi 4 mars 2017

Installer le paquet xlsx pour R sous Debian Stretch

Sous R, le paquet 'xlsx' peut être utilisé pour importer des jeux de données stockées dans des fichiers de la suite Microsoft Office. Mais sous Debian Stretch (instable), l'installation du paquet 'xlsx' est un peu compliquée au moment d'écrire ces lignes.

configure: error: Cannot compile a simple JNI program. See config.log for details.
Make sure you have Java Development Kit installed and correctly registered in R.
If in doubt, re-run "R CMD javareconf" as root.

Et si l'on exécute R CMD javareconf :

conftest.c:1:17: fatal error: jni.h: No such file or directory
 #include <jni.h>

Il semble que cela vienne à la fois d'un mauvais paramétrage de R pour utiliser Java et de l'usage d'une version de Java qui a priori n'est pas compatible avec rJava (incompatibilité rapportée ici).

Utiliser OpenJDK 8 et non 9

Commençons par installer OpenJDK 8 sur l'ordinateur en root ou avec la commande sudo :

apt install openjdk-8-jre openjdk-8-jdk

Puis, toujours en root, faisons pointer JAVA_HOME vers le bon répertoire :

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

javareconf dans R

Et ré-exécutons alors R CMD javareconf. Cette fois, tout doit fonctionner et s'achever par :

Updating Java configuration in /usr/lib/R
Done.

En utilisateur non root, il est alors possible de re-démarrer R et d'exécuter l'installation de rJava :

> install.packages("rJava")

install.packages("xlsx")

Plus rien ne s'oppose à l'installation du paquet xlsx désormais :

> install.packages("xlsx")