如何在 Linux Mint 中安装 rJava 包

如何在 Linux Mint 中安装 rJava 包

我已经在 Linux Mint 中安装了 R 和 Java,为了安装 rJava,我在 Rstudio 中使用了这个命令-

install.packages("rJava")

它开始安装,但最终返回一些错误并终止安装:-

 * installing to library ‘/home/ebuilders/R/x86_64-pc-linux-gnu-library/3.0’
 * installing *source* package ‘rJava’ ...
 ** package ‘rJava’ successfully unpacked and MD5 sums checked
 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... /bin/grep
 checking for egrep... /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... present:
 interpreter : '/usr/bin/java'
 archiver    : '/usr/bin/jar'
 compiler    : '/usr/bin/javac'
 header prep.: '/usr/bin/javah'
 cpp flags   : '-I/usr/lib/jvm/java-8-oracle/jre/../include -I/usr/lib/jvm/java-8-oracle/jre/../include/linux'
 java libs   : '-L/usr/lib/jvm/java-8-oracle/jre/lib/amd64/server -ljvm'
 checking whether Java run-time works... yes
 checking whether -Xrs is supported... yes
 checking whether JNI programs can be compiled... yes
 checking JNI data types... ok
 checking whether JRI should be compiled (autodetect)... yes
 checking whether debugging output should be enabled... no
 checking whether memory profiling is desired... no
 checking whether threads support is requested... no
 checking whether callbacks support is requested... no
 checking whether JNI cache support is requested... no
 checking whether headless init is enabled... no
 checking whether JRI is requested... yes
 configure: creating ./config.status
 config.status: creating src/Makevars
 config.status: creating R/zzz.R
 config.status: creating src/config.h
 === configuring in jri (/tmp/RtmpRlUmfI/R.INSTALL1a0b7fe0ce10/rJava/jri)
 configure: running /bin/bash ./configure --disable-option-checking  '--prefix=/usr/local'  --cache-file=/dev/null --srcdir=.
 checking build system type... x86_64-unknown-linux-gnu
 checking host system type... x86_64-unknown-linux-gnu
 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... /bin/grep
 checking for egrep... /bin/grep -E
 checking for ANSI C header files... yes
 checking whether Java interpreter works... checking whether JNI programs can be compiled... yes
 checking whether JNI programs can be run... yes
 checking JNI data types... ok
 checking whether Rinterface.h exports R_CStackXXX variables... yes
 checking whether Rinterface.h exports R_SignalHandlers... yes
 configure: creating ./config.status
 config.status: creating src/Makefile
 config.status: creating Makefile
 config.status: creating run
 config.status: creating src/config.h
 ** libs
 gcc -std=gnu99 -I/usr/share/R/include -DNDEBUG -I. -I/usr/lib/jvm/java-  8-oracle/jre/../include -I/usr/lib/jvm/java-8-oracle/jre/../include/linux     -fpic  -O3 -pipe  -g  -c Rglue.c -o Rglue.o
 gcc -std=gnu99 -I/usr/share/R/include -DNDEBUG -I. -I/usr/lib/jvm/java-8-oracle/jre/../include -I/usr/lib/jvm/java-8-oracle/jre/../include/linux     -fpic  -O3 -pipe  -g  -c arrayc.c -o arrayc.o
 gcc -std=gnu99 -I/usr/share/R/include -DNDEBUG -I. -I/usr/lib/jvm/java-8-oracle/jre/../include -I/usr/lib/jvm/java-8-oracle/jre/../include/linux     -fpic  -O3 -pipe  -g  -c callJNI.c -o callJNI.o
 gcc -std=gnu99 -I/usr/share/R/include -DNDEBUG -I. -I/usr/lib/jvm/java-8-oracle/jre/../include -I/usr/lib/jvm/java-8-oracle/jre/../include/linux     -fpic  -O3 -pipe  -g  -c callback.c -o callback.o
 gcc -std=gnu99 -I/usr/share/R/include -DNDEBUG -I. -I/usr/lib/jvm/java-8-oracle/jre/../include -I/usr/lib/jvm/java-8-oracle/jre/../include/linux     -fpic  -O3 -pipe  -g  -c fields.c -o fields.o
  gcc -std=gnu99 -I/usr/share/R/include -DNDEBUG -I. -I/usr/lib/jvm/java-8-oracle/jre/../include -I/usr/lib/jvm/java-8-oracle/jre/../include/linux     -fpic  -O3 -pipe  -g  -c init.c -o init.o
  gcc -std=gnu99 -I/usr/share/R/include -DNDEBUG -I. -I/usr/lib/jvm/java-8-oracle/jre/../include -I/usr/lib/jvm/java-8-oracle/jre/../include/linux     -fpic  -O3 -pipe  -g  -c jri_glue.c -o jri_glue.o
  gcc -std=gnu99 -I/usr/share/R/include -DNDEBUG -I. -I/usr/lib/jvm/java-8-oracle/jre/../include -I/usr/lib/jvm/java-8-oracle/jre/../include/linux     -fpic  -O3 -pipe  -g  -c loader.c -o loader.o
  gcc -std=gnu99 -I/usr/share/R/include -DNDEBUG -I. -I/usr/lib/jvm/java-8-oracle/jre/../include -I/usr/lib/jvm/java-8-oracle/jre/../include/linux     -fpic  -O3 -pipe  -g  -c otables.c -o otables.o
  gcc -std=gnu99 -I/usr/share/R/include -DNDEBUG -I. -I/usr/lib/jvm/java-8-oracle/jre/../include -I/usr/lib/jvm/java-8-oracle/jre/../include/linux     -fpic  -O3 -pipe  -g  -c rJava.c -o rJava.o
  gcc -std=gnu99 -I/usr/share/R/include -DNDEBUG -I. -I/usr/lib/jvm/java-8-oracle/jre/../include -I/usr/lib/jvm/java-8-oracle/jre/../include/linux     -fpic  -O3 -pipe  -g  -c tools.c -o tools.o
  gcc -std=gnu99 -shared -o rJava.so Rglue.o arrayc.o callJNI.o callback.o fields.o init.o jri_glue.o loader.o otables.o rJava.o tools.o -L/usr/lib/jvm/java-8-oracle/jre/lib/amd64/server -ljvm -L/usr/lib/R/lib -lR
 (cd ../jri && make)
 make[1]: Entering directory `/tmp/RtmpRlUmfI/R.INSTALL1a0b7fe0ce10/rJava/jri'
 make -C src JRI.jar
 make[2]: Entering directory `/tmp/RtmpRlUmfI/R.INSTALL1a0b7fe0ce10/rJava/jri/src'
 /usr/bin/javac -target 1.4 -source 1.4 -d . ../Mutex.java ../RBool.java ../RConsoleOutputStream.java ../REXP.java ../RFactor.java ../RList.java ../RMainLoopCallbacks.java ../RVector.java ../Rengine.java ../package-info.java
 warning: [options] bootstrap class path not set in conjunction with -source 1.4
 warning: [options] source value 1.4 is obsolete and will be removed in a future release
 warning: [options] target value 1.4 is obsolete and will be removed in a future release
 warning: [options] To suppress warnings about obsolete options, use -Xlint:-options.
 4 warnings
 /usr/bin/javah -d . -classpath . org.rosuda.JRI.Rengine
 gcc -std=gnu99 -c -o Rengine.o Rengine.c -g -Iinclude  -DRIF_HAS_CSTACK -DRIF_HAS_RSIGHAND -O3 -pipe -g  -I/usr/lib/jvm/java-8-oracle/jre/../include -I/usr/lib/jvm/java-8-oracle/jre/../include/linux  -fpic -I/usr/lib/jvm/java-8-oracle/jre/../include -I/usr/lib/jvm/java-8-oracle/jre/../include/linux -I/usr/share/R/include -I/usr/share/R/include
  gcc -std=gnu99 -c -o jri.o jri.c -g -Iinclude  -DRIF_HAS_CSTACK -DRIF_HAS_RSIGHAND -O3 -pipe -g  -I/usr/lib/jvm/java-8-oracle/jre/../include -I/usr/lib/jvm/java-8-oracle/jre/../include/linux  -fpic -I/usr/lib/jvm/java-8-oracle/jre/../include -I/usr/lib/jvm/java-8-oracle/jre/../include/linux -I/usr/share/R/include -I/usr/share/R/include
  gcc -std=gnu99 -c -o Rcallbacks.o Rcallbacks.c -g -Iinclude  -DRIF_HAS_CSTACK -DRIF_HAS_RSIGHAND -O3 -pipe -g  -I/usr/lib/jvm/java-8-oracle/jre/../include -I/usr/lib/jvm/java-8-oracle/jre/../include/linux  -fpic -I/usr/lib/jvm/java-8-oracle/jre/../include -I/usr/lib/jvm/java-8-oracle/jre/../include/linux -I/usr/share/R/include -I/usr/share/R/include
  gcc -std=gnu99 -c -o Rinit.o Rinit.c -g -Iinclude  -DRIF_HAS_CSTACK -DRIF_HAS_RSIGHAND -O3 -pipe -g  -I/usr/lib/jvm/java-8-oracle/jre/../include -I/usr/lib/jvm/java-8-oracle/jre/../include/linux  -fpic -I/usr/share/R/include -I/usr/share/R/include
   gcc -std=gnu99 -c -o globals.o globals.c -g -Iinclude  -DRIF_HAS_CSTACK -DRIF_HAS_RSIGHAND -O3 -pipe -g  -I/usr/lib/jvm/java-8-oracle/jre/../include -I/usr/lib/jvm/java-8-oracle/jre/../include/linux  -fpic -I/usr/lib/jvm/java-8-oracle/jre/../include -I/usr/lib/jvm/java-8-oracle/jre/../include/linux
   gcc -std=gnu99 -c -o rjava.o rjava.c -g -Iinclude  -DRIF_HAS_CSTACK -DRIF_HAS_RSIGHAND -O3 -pipe -g  -I/usr/lib/jvm/java-8-oracle/jre/../include -I/usr/lib/jvm/java-8-oracle/jre/../include/linux  -fpic -I/usr/lib/jvm/java-8-oracle/jre/../include -I/usr/lib/jvm/java-8-oracle/jre/../include/linux
  rjava.c: In function ‘RJava_request_lock’:
  rjava.c:22:8: warning: ignoring return value of ‘write’, declared with attribute warn_unused_result [-Wunused-result]
  write(ipcout, buf, sizeof(ptrlong));
    ^
  rjava.c: In function ‘RJava_clear_lock’:
  rjava.c:30:8: warning: ignoring return value of ‘write’, declared with attribute warn_unused_result [-Wunused-result]
  write(ipcout, buf, sizeof(ptrlong));
    ^
 rjava.c: In function ‘RJava_request_callback’:
 rjava.c:39:8: warning: ignoring return value of ‘write’, declared with attribute warn_unused_result [-Wunused-result]
 write(ipcout, buf, sizeof(ptrlong) * 3);
    ^
 rjava.c: In function ‘RJava_init_ctrl’:
 rjava.c:51:8: warning: ignoring return value of ‘write’, declared with attribute warn_unused_result [-Wunused-result]
 write(ipcout, buf, sizeof(ptrlong));
    ^
 rjava.c:52:7: warning: ignoring return value of ‘read’, declared with attribute warn_unused_result [-Wunused-result]
 read(resin, buf, sizeof(ptrlong) * 2);
   ^
 gcc -std=gnu99 -o libjri.so Rengine.o jri.o Rcallbacks.o Rinit.o globals.o rjava.o  -shared -L/usr/lib/jvm/java-8-oracle/jre/lib/amd64/server -ljvm -L/usr/lib/R/lib -lR
/usr/bin/javac -target 1.4 -source 1.4 -d . ../Mutex.java ../RBool.java ../RConsoleOutputStream.java ../REXP.java ../RFactor.java ../RList.java ../RMainLoopCallbacks.java ../RVector.java ../Rengine.java ../package-info.java
 warning: [options] bootstrap class path not set in conjunction with -source 1.4
 warning: [options] source value 1.4 is obsolete and will be removed in a future release
 warning: [options] target value 1.4 is obsolete and will be removed in a future release
 warning: [options] To suppress warnings about obsolete options, use -Xlint:-options.
 4 warnings
 /usr/bin/jar fc JRI.jar org libjri.so
 make[2]: Leaving directory `/tmp/RtmpRlUmfI/R.INSTALL1a0b7fe0ce10/rJava/jri/src'
 rm -f libjri.so
 cp src/libjri.so libjri.so
 /usr/bin/javac -target 1.4 -source 1.4 -classpath src/JRI.jar -d examples examples/rtest.java
  warning: [options] bootstrap class path not set in conjunction with -source 1.4
  warning: [options] source value 1.4 is obsolete and will be removed in a future release
  warning: [options] target value 1.4 is obsolete and will be removed in a future release
  warning: [options] To suppress warnings about obsolete options, use -Xlint:-options.
  Note: examples/rtest.java uses or overrides a deprecated API.
  Note: Recompile with -Xlint:deprecation for details.
 4 warnings
 /usr/bin/javac -target 1.4 -source 1.4 -classpath src/JRI.jar -d examples examples/rtest2.java
 warning: [options] bootstrap class path not set in conjunction with -source 1.4
 warning: [options] source value 1.4 is obsolete and will be removed in a future release
 warning: [options] target value 1.4 is obsolete and will be removed in a future release
 warning: [options] To suppress warnings about obsolete options, use -Xlint:-options.
 Note: examples/rtest2.java uses or overrides a deprecated API.
 Note: Recompile with -Xlint:deprecation for details.
 4 warnings
 make[1]: Leaving directory `/tmp/RtmpRlUmfI/R.INSTALL1a0b7fe0ce10/rJava/jri'
 installing via 'install.libs.R' to /home/ebuilders/R/x86_64-pc-linux-gnu-library/3.0/rJava
** R
** inst
** preparing package for lazy loading
** help
*** installing help indices
** building package indices
** testing if installed package can be loaded
Error : .onLoad failed in loadNamespace() for 'rJava', details:
 call: dyn.load(file, DLLpath = DLLpath, ...)
 error: unable to load shared object '/home/ebuilders/R/x86_64-pc-linux-  gnu-library/3.0/rJava/libs/rJava.so':
 libjvm.so: cannot open shared object file: No such file or directory
 Error: loading failed
 Execution halted 
 ERROR: loading failed
 * removing ‘/home/ebuilders/R/x86_64-pc-linux-gnu-library/3.0/rJava’

我还尝试使用 R CMD INSTALL 命令手动安装软件包,得到了相同的结果。谁能帮我吗?

相关内容