我试图安装xlsx软件包,遗憾的是,Java存在一个问题,我无法解决.
请在下面找到尝试安装xlsx包时产生的输出.
R version 3.1.1 (2014-07-10) -- "Sock it to Me" Copyright (C) 2014 The R Foundation for Statistical Computing Platform: x86_64-redhat-linux-gnu (64-bit) R is free software and comes with ABSOLUTELY NO WARRANTY. You are welcome to redistribute it under certain conditions. Type 'license()' or 'licence()' for distribution details. Natural language support but running in an English locale R is a collaborative project with many contributors. Type 'contributors()' for more information and 'citation()' on how to cite R or R packages in publications. Type 'demo()' for some demos, 'help()' for on-line help, or 'help.start()' for an HTML browser interface to help. Type 'q()' to quit R. > install.packages("xlsx") Installing package into ‘/home/tamaspavlicek/R/x86_64-redhat-linux-gnu-library/3.1’ (as ‘lib’ is unspecified) also installing the dependencies ‘rJava’, ‘xlsxjars’ trying URL 'contrib/rJava_0.9-6.tar.gz' Content type 'application/x-gzip' length 567515 bytes (554 Kb) opened URL ================================================== downloaded 554 Kb trying URL 'contrib/xlsxjars_0.6.1.tar.gz' Content type 'application/x-gzip' length 9477071 bytes (9.0 Mb) opened URL ================================================== downloaded 9.0 Mb trying URL 'contrib/xlsx_0.5.7.tar.gz' Content type 'application/x-gzip' length 312839 bytes (305 Kb) opened URL ================================================== downloaded 305 Kb * installing *source* package ‘rJava’ ... ** package ‘rJava’ successfully unpacked and MD5 sums checked checking for gcc... gcc -m64 -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 -m64 -std=gnu99 accepts -g... yes checking for gcc -m64 -std=gnu99 option to accept ISO C89... none needed checking how to run the C preprocessor... gcc -m64 -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 -m64 -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... present: interpreter : '/bin/java' archiver : '/bin/jar' compiler : '/bin/javac' header prep.: '/bin/javah' cpp flags : '-I/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.71-2.5.3.0.fc20.x86_64/jre/../include -I/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.71-2.5.3.0.fc20.x86_64/jre/../include/linux' java libs : '-L/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.71-2.5.3.0.fc20.x86_64/jre/lib/amd64/server -ljvm' checking whether Java run-time works... Error: Could not find or load main class getsp no configure: error: Java interpreter '/bin/java' does not work ERROR: configuration failed for package ‘rJava’ * removing ‘/home/tamaspavlicek/R/x86_64-redhat-linux-gnu-library/3.1/rJava’ Warning in install.packages : installation of package ‘rJava’ had non-zero exit status ERROR: dependency ‘rJava’ is not available for package ‘xlsxjars’ * removing ‘/home/tamaspavlicek/R/x86_64-redhat-linux-gnu-library/3.1/xlsxjars’ Warning in install.packages : installation of package ‘xlsxjars’ had non-zero exit status ERROR: dependencies ‘rJava’, ‘xlsxjars’ are not available for package ‘xlsx’ * removing ‘/home/tamaspavlicek/R/x86_64-redhat-linux-gnu-library/3.1/xlsx’ Warning in install.packages : installation of package ‘xlsx’ had non-zero exit status The downloaded source packages are in ‘/tmp/Rtmpj1UG8a/downloaded_packages’
安装Java:
java -version提供以下输出:
java version "1.7.0_71" OpenJDK Runtime Environment (fedora-2.5.3.0.fc20-x86_64 u71-b14) OpenJDK 64-Bit Server VM (build 24.65-b04, mixed mode)
"sudo R CMD javareconf"导致:
Java interpreter : /bin/java Java version : 1.7.0_71 Java home path : /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.71-2.5.3.0.fc20.x86_64/jre Java compiler : /bin/javac Java headers gen.: /bin/javah Java archive tool: /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 -m64 -std=gnu99 -I/usr/include/R -DNDEBUG -I/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.71-2.5.3.0.fc20.x86_64/jre/../include -I/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.71-2.5.3.0.fc20.x86_64/jre/../include/linux -I/usr/local/include -fpic -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -c conftest.c -o conftest.o gcc -m64 -std=gnu99 -shared -Wl,-z,relro -o conftest.so conftest.o -L/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.71-2.5.3.0.fc20.x86_64/jre/lib/amd64/server -ljvm -L/usr/lib64/R/lib -lR JAVA_HOME : /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.71-2.5.3.0.fc20.x86_64/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.
尽管如此,install.packages('rJava')导致:
checking Java support in R... present: interpreter : '/bin/java' archiver : '/bin/jar' compiler : '/bin/javac' header prep.: '/bin/javah' cpp flags : '-I/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.71-2.5.3.0.fc20.x86_64/jre/../include -I/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.71-2.5.3.0.fc20.x86_64/jre/../include/linux' java libs : '-L/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.71-2.5.3.0.fc20.x86_64/jre/lib/amd64/server -ljvm' checking whether Java run-time works... Error: Could not find or load main class getsp no configure: error: Java interpreter '/bin/java' does not work ERROR: configuration failed for package ‘rJava’ * removing ‘/home/tamaspavlicek/R/x86_64-redhat-linux-gnu-library/3.1/rJava’ Warning in install.packages : installation of package ‘rJava’ had non-zero exit status The downloaded source packages are in ‘/tmp/Rtmpnl17m7/downloaded_packages’
我不知道如何解决这个java问题.我使用RStudio和Fedora.非常感谢您的帮助.
谢谢
塔马斯
如果安装了Java,请尝试从命令行重置R的java配置
sudo R CMD javareconf
然后再次尝试安装rJava
(你可能先重启RStudio)
install.packages('rJava')
如果这仍然无法解决您的问题,则错误显示R无法加载getsp.:
checking whether Java run-time works... Error: Could not find or load main class getsp
首先验证getsp是否可访问.
locate getsp
输出可能包含几个项目,但你应该找到这样的东西:
/usr/share/R/share/java/getsp.class
然后我们希望这是可访问的,所以导出它以便R可以找到它:
export CLASSPATH=/usr/share/R/share/java
在同一窗口中,启动另一个R会话并rJava
再次尝试安装.
休息的另一件事是JAVA_HOME并重新运行 javareconf
export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.71.x86_64/jre export PATH=$PATH:$JAVA_HOME/bin sudo R CMD javareconf
还建议unset CLASSPATH
在rJava问题中,因为它可能导致其他问题.您可能应该在尝试更改JAVA_HOME之前执行此操作,如果仍然无法解决问题,请再次重置.
编辑
鉴于这个问题在很长一段时间内一直没有得到解答,我认为我还应该添加我的建议,只使用不使用Java 的readxl包.它安装起来更容易,也是整齐的一部分.对于那些尝试使用excel文件的人来说,这只是一个普遍的建议.