Problème: avant la mise à niveau, sous Ubuntu14.04, je viens d'installer le JRE et le JDK par défaut, et R 3.0.2 (la valeur par défaut pour cette version d'Ubuntu), et j'ai exécuté avec succès R CMD javareconf
.
Cependant, depuis la mise à niveau vers 14.10 et la vérification que j'ai les derniers JRE et JDK Java7, essayer d'exécuter le javareconf
échoue avec le vidage suivant:
cellocgw@cellocgw-Studio-1747:~$ Sudo R CMD javareconf
Java interpreter : /usr/bin/Java
Java version : 1.7.0_65
Java home path : /usr/lib/jvm/Java-7-openjdk-AMD64/jre
Java compiler : /usr/bin/javac
Java headers gen.: /usr/bin/javah
Java archive tool: /usr/bin/jar
trying to compile and link a JNI progam
detected JNI cpp flags : -I$(Java_HOME)/../include
detected JNI linker flags : -L$(Java_HOME)/lib/AMD64/server -ljvm
gcc -std=gnu99 -I/usr/share/R/include -DNDEBUG -I/usr/lib/jvm/Java-7-openjdk-AMD64/jre/../include -fpic -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -g -c conftest.c -o conftest.o
In file included from conftest.c:1:0:
/usr/lib/jvm/Java-7-openjdk-AMD64/jre/../include/jni.h:39:19: fatal error: stdio.h: No such file or directory
#include <stdio.h>
^
compilation terminated.
/usr/lib/R/etc/Makeconf:133: recipe for target 'conftest.o' failed
make: *** [conftest.o] Error 1
Unable to compile a JNI program
Java_HOME : /usr/lib/jvm/Java-7-openjdk-AMD64/jre
Java library path:
JNI cpp flags :
JNI linker flags :
Updating Java configuration in /usr/lib/R
Done.
Quelque chose n'est pas installé ou n'est pas là où il "devrait" être. J'ai essayé la plupart des astuces énumérées dans des questions similaires (faire des mises à jour et autres), mais jusqu'à présent, je n'ai pas trouvé de question où le stdio.h
fichier manquant était le message d'erreur.
Je pense que j'ai résolu cette situation:
Sur la base d'un commentaire de steeldriver, j'ai creusé dans le Software Center et ajouté plusieurs "add-ons" à l'installation de gcc
. Je soupçonne que l'ajout de libc6-dev
ou gcc-multilib
était ce dont j'avais besoin.
Sur une note connexe susceptible d'intéresser les utilisateurs de R
qui souhaitent installer JGR
: j'ai dû installer au moins l'un des libpng12-dev
, libpng3
, et libpng++dev
pour obtenir le package png
à installer (dans R
), ce qui est requis pour JGR
à installer.