[已解决]rJava的配置问题

物理、生物、数学、统计、建筑等专业软件的安装配置。

[已解决]rJava的配置问题

#1  iclementine » 周一 10月 3日, 2016年 5:02 pm

在 openSUSE 下, 我的和 java 相关的东西的路径应该是在
/usr/lib64 下,里面有

java
java-1.5.0
java-1.6.0
java-1.7.0
java-1_7_0-openjdk-plugin
java-1.8.0
java-1_8_0-openjdk-plugin
java-ext
jvm
jvm-commmon
jvm-exports
jvm-private
这些目录。
然后我在 bash 里面直接打 java -version 和 javac -v 都是有正常的返回信息的。


但是 GNU R 的一个包 rJava 安装的时候总是无法装上, 这是什么原因。有什么方法解决吗?
注: 安装 rJava 的信息如下:


* installing *source* package ‘rJava’ ...
** 成功将‘rJava’程序包解包并 MD5 和检查
checking for gcc... gcc -std=gnu99
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc -std=gnu99 accepts -g... yes
checking for gcc -std=gnu99 option to accept ISO C89... none needed
checking how to run the C preprocessor... gcc -std=gnu99 -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for sys/wait.h that is POSIX.1 compatible... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for string.h... (cached) yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking for unistd.h... (cached) yes
checking for an ANSI C-conforming const... yes
checking whether time.h and sys/time.h may both be included... yes
configure: checking whether gcc -std=gnu99 supports static inline...
yes
checking whether setjmp.h is POSIX.1 compatible... yes
checking whether sigsetjmp is declared... yes
checking whether siglongjmp is declared... yes
checking Java support in R... configure: error: absent
R was configured without Java support. Please run
R CMD javareconf
as root to add Java support to R.

If you do not have root privileges, run
R CMD javareconf -e
to set all Java-related variables and then install rJava.
ERROR: configuration failed for package ‘rJava’
* removing ‘/usr/lib64/R/library/rJava’

下载的程序包在
‘/tmp/RtmpMp0NDK/downloaded_packages’里
更新'.Library'里的 HTML 程序包列表
Making 'packages.html' ... 做完了。
Warning message:
In install.packages("rJava") : 安装程序包‘rJava’时退出狀態的值不是 0



然后按照要求 sudo R CMD javareconf 配置一番, 显示的结果是:


Java interpreter : /usr/bin/java
Java version : 1.8.0_60
Java home path : /usr/lib64/jvm/java-1.8.0-openjdk-1.8.0/jre
/usr/lib64/gcc/x86_64-suse-linux/4.8/../../../../lib64/crt1.o:在函数‘_start’中:
/home/abuild/rpmbuild/BUILD/glibc-2.19/csu/../sysdeps/x86_64/start.S:118:对‘main’未定义的引用
collect2: error: ld returned 1 exit status
Java compiler : not functional
Java headers gen.: /usr/bin/javah
Java archive tool: /usr/bin/jar

trying to compile and link a JNI program
detected JNI cpp flags :
detected JNI linker flags : -L$(JAVA_HOME)/lib/amd64/server -ljvm
gcc -std=gnu99 -I/usr/lib64/R/include -DNDEBUG -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/lib64/R/lib -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 :
JNI linker flags : -L$(JAVA_HOME)/lib/amd64/server -ljvm
Updating Java configuration in /usr/lib64/R
Done.



这说明了什么问题呢, 接下去应该如何处理呢。
@PaleFire 求助啊
头像
iclementine
 
帖子: 23
注册: 周三 7月 20日, 2016年 12:02 am
Cash on hand: 72.00
送出感谢: 0 次
收到感谢: 0 次

Re: rJava的配置问题

#2  hounh » 周二 10月 4日, 2016年 9:01 am

头像
hounh
行走
 
帖子: 140
注册: 周五 5月 16日, 2014年 2:41 pm
Cash on hand: 153.20
送出感谢: 0 次
收到感谢: 4

Re: rJava的配置问题

#3  iclementine » 周二 10月 4日, 2016年 8:01 pm

谢谢,原来这里有。我之前在 yast 里面直接搜索搜不到以为没有打包,一般都是直接用 R 内置的包管理系统,有时候就会有某些包装不上,因为没有弄好编译和配置环境。原来在这可以搜索到。谢谢。

以及,感谢 SUSE 和狐吧。
头像
iclementine
 
帖子: 23
注册: 周三 7月 20日, 2016年 12:02 am
Cash on hand: 72.00
送出感谢: 0 次
收到感谢: 0 次

Re: rJava的配置问题

#4  iclementine » 周二 10月 4日, 2016年 8:07 pm

hounh 写道: 从这里安装试试?:
https://software.opensuse.org/package/R ... term=rjava


但是装好了之后
library("rJava") 的时候返回了这样的错误信息
Inconsistency detected by ld.so: dl-lookup.c: 167: check_match: Assertion `version->filename == ((void *)0) || ! _dl_name_match_p (version->filename, map)' failed!

估计是有什么版本问题了
头像
iclementine
 
帖子: 23
注册: 周三 7月 20日, 2016年 12:02 am
Cash on hand: 72.00
送出感谢: 0 次
收到感谢: 0 次

Re: rJava的配置问题

#5  iclementine » 周四 10月 13日, 2016年 11:12 am

修好了。大概是忘了装 java 的开发包的原因。真是惭愧了
头像
iclementine
 
帖子: 23
注册: 周三 7月 20日, 2016年 12:02 am
Cash on hand: 72.00
送出感谢: 0 次
收到感谢: 0 次


回到 科学教育

在线用户

正在浏览此版面的用户:没有注册用户 和 1 位游客