Проблема: перед обновлением, под Ubuntu14.04, я просто установил JRE по умолчанию и JDK и R 3.0.2 (значение по умолчанию для той версии Ubuntu), и успешно работал R CMD javareconf
.
Однако начиная с обновления до 14,10, и проверка у меня есть последний java7 JRE и JDK, пытаясь работать javareconf
сбои со следующим дампом:
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.
Что-то не установлено или не, где это "должно" быть. Я попробовал большинство приемов, перечисленных в подобных вопросах (выполнение обновлений и т.п.), но до сих пор я не нашел вопрос где stdio.h
отсутствие файла было сообщением об ошибке.
Я думаю, что решил эту ситуацию:
На основе комментария от steeldriver я вырыл в Центр программного обеспечения и добавил несколько "дополнений" к gcc
установка. Я подозреваю то добавление также libc6-dev
или gcc-multilib
был тем, в чем я нуждался.
На связанной ноте вероятного интереса для R
пользователи, которые хотят установить JGR
: Я должен был установить по крайней мере один из libpng12-dev
, libpng3
, и libpng++dev
получить пакет png
устанавливать (в R
), который требуется для JGR
устанавливать.