Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
rJava won';t安装在openSUSE 13.2上_Java_R_Opensuse_Rjava - Fatal编程技术网

rJava won';t安装在openSUSE 13.2上

rJava won';t安装在openSUSE 13.2上,java,r,opensuse,rjava,Java,R,Opensuse,Rjava,我正在尝试在新安装的openSUSE 13.2上安装rJava。JRE和JDK都已安装。使用install.packages()时,它实际上工作正常,并编译了一些内容,但我收到的第一条错误消息如下: mp -L/usr/lib64/R/lib -lR -lrt -ldl -lm -licuuc -licui18n /usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: cannot find -lic

我正在尝试在新安装的openSUSE 13.2上安装rJava。JRE和JDK都已安装。使用
install.packages()
时,它实际上工作正常,并编译了一些内容,但我收到的第一条错误消息如下:

mp  -L/usr/lib64/R/lib -lR -lrt -ldl -lm -licuuc -licui18n
/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: cannot find -licuuc
/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../x86_64-suse-linux/bin/ld: cannot find -licui18n
collect2: error: ld returned 1 exit status
Makefile.all:38: recipe for target 'libjri.so' failed
make[2]: *** [libjri.so] Error 1
make[2]: Leaving directory '/tmp/RtmpmK9cz2/R.INSTALL48f8aa9a7b5/rJava/jri/src'
Makefile.all:21: recipe for target 'src/JRI.jar' failed
make[1]: *** [src/JRI.jar] Error 2
make[1]: Leaving directory '/tmp/RtmpmK9cz2/R.INSTALL48f8aa9a7b5/rJava/jri'
Makevars:14: recipe for target 'jri' failed
make: *** [jri] Error 2
ERROR: compilation failed for package ‘rJava’
运行
R CMD javareconf
可以得到以下信息:

Java interpreter : /usr/bin/java
Java version     : 1.8.0_40
Java home path   : /usr/lib64/jvm/java-1.8.0-openjdk-1.8.0/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 -I$(JAVA_HOME)/../include/linux
detected JNI linker flags : -L$(JAVA_HOME)/lib/amd64/server -ljvm
gcc -std=gnu99 -I/usr/lib64/R/include -DNDEBUG -I/usr/lib64/jvm/java-1.8.0-openjdk-1.8.0/jre/../include -I/usr/lib64/jvm/java-1.8.0-openjdk-1.8.0/jre/../include/linux -I/usr/local/include    -fpic  -fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -g  -c conftest.c -o conftest.o
gcc -std=gnu99 -shared -L/usr/local/lib64 -o conftest.so conftest.o -L/usr/lib64/jvm/java-1.8.0-openjdk-1.8.0/jre/lib/amd64/server -ljvm -L/usr/lib64/R/lib -lR


JAVA_HOME        : /usr/lib64/jvm/java-1.8.0-openjdk-1.8.0/jre
Java library path: $(JAVA_HOME)/lib/amd64/server
JNI cpp flags    : -I$(JAVA_HOME)/../include -I$(JAVA_HOME)/../include/linux
JNI linker flags : -L$(JAVA_HOME)/lib/amd64/server -ljvm
Updating Java configuration in /usr/lib64/R
Done.

我甚至不确定这是否是Java问题。有什么问题吗?

发现问题在于缺少
libicu-devel
软件包。安装它解决了问题。

R CMD javareconf的结果是什么?错误为找不到-licuuc,请尝试安装libicu48。还要确保路径配置正确。我还必须安装
xz-devel
pcre-devel
。当然,到底缺少什么在很大程度上取决于特定于onces的linux安装。