无法在ubuntu 14.10下为R设置Java


1

问题:在升级之前,在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文件丢失是错误消息的问题。


如果它真的在寻找<stdio.h>标准的C库头文件,那么libc6-dev我需要的包
steeldriver 2014年

@steeldriver听起来不太可能-我希望stdio.h在当前../include目录中有一个文件
Carl

@steeldriver看起来您是正确的。看我的回答;如果您想发布更准确的答案,我们很乐意选择您的版本。
卡尔·威索夫特

Answers:


0

我想我已经解决了这种情况:

根据steeldriver的评论,我进入了软件中心,并在gcc安装中添加了一些“附加组件” 。我怀疑添加libc6-dev还是gcc-multilib我需要的。

与此相关可能感兴趣的R谁想要安装的用户JGR:我必须安装的至少一个 libpng12-devlibpng3以及libpng++dev获得包png来安装(中R),这是需要JGR进行安装。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.