Ubuntu 14.10中R 3.1.2和java7 config之间的冲突

时间:2014-12-06 14:23:11

标签: java r ubuntu

(是的,我也会在askUbuntu论坛上搜索)。 问题:在升级之前,在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.

某些东西没有安装或者不在哪里&#34;应该&#34;是。我已尝试过在类似问题中列出的大多数技巧(进行更新等),但到目前为止,我还没有找到错误信息中缺少stdio.h文件的问题。

1 个答案:

答案 0 :(得分:2)

我想我已经解决了这个问题:

根据我在crossposting的steeldriver的评论,我挖掘了软件中心并为gcc安装添加了几个“附加组件”。我怀疑添加libc6-devgcc-multilib是我需要的。

关于R想要安装JGR的用户可能感兴趣的相关说明:我必须安装libpng12-devlibpng3和{{}中的至少一个1}}要安装libpng++devpng},这是R安装所必需的。