Today I recreate and setup a new instance on Aliyun. But installation error occurs again, when I install rJava
package in R 3.6.3 on Ubuntu 16.04.
Here is the error information:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 Installing package into ‘/usr/local/lib/R/site-library’ (as ‘lib’ is unspecified) trying URL 'https://cloud.r-project.org/src/contrib/rJava_0.9- Content type 'application/x-gzip' length 664898 bytes (649 KB) ================================================== downloaded 649 KB * installing *source* package ‘rJava’ ... ** package ‘rJava’ successfully unpacked and MD5 sums checked ** using staged installation 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/lib/jvm/default-java/jre/bin/java' archiver : '/usr/lib/jvm/default-java/bin/jar' compiler : '/usr/lib/jvm/default-java/bin/javac' header prep.: '/usr/lib/jvm/default-java/bin/javah' cpp flags : '-I/usr/lib/jvm/default-java/include -I/usr/lib/jvm/default-java/include/linux' java libs : '-L/usr/lib/jvm/default-java/jre/lib/amd64/server -ljvm' checking whether Java run-time works... yes checking whether -Xrs is supported... yes checking whether -Xrs will be used... yes checking whether JVM will be loaded dynamically... no checking whether JNI programs can be compiled... yes checking whether JNI programs run... 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/RtmpQeRtyF/R.INSTALL60f3d5ed5db/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 Java version... 1.8.0_275 checking Java compatibility version (integer)... 8 checking whether /usr/lib/jvm/default-java/bin/javah actually works... yes checking for target flags... -target 1.4 -source 1.4 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/default-java/include -I/usr/lib/jvm/default-java/include/linux -fpic -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -c Rglue.c -o Rglue.o gcc -std=gnu99 -I"/usr/share/R/include" -DNDEBUG -I. -I/usr/lib/jvm/default-java/include -I/usr/lib/jvm/default-java/include/linux -fpic -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -c arrayc.c -o arrayc.o gcc -std=gnu99 -I"/usr/share/R/include" -DNDEBUG -I. -I/usr/lib/jvm/default-java/include -I/usr/lib/jvm/default-java/include/linux -fpic -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -c callJNI.c -o callJNI.o gcc -std=gnu99 -I"/usr/share/R/include" -DNDEBUG -I. -I/usr/lib/jvm/default-java/include -I/usr/lib/jvm/default-java/include/linux -fpic -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -c callback.c -o callback.o gcc -std=gnu99 -I"/usr/share/R/include" -DNDEBUG -I. -I/usr/lib/jvm/default-java/include -I/usr/lib/jvm/default-java/include/linux -fpic -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -c fields.c -o fields.o gcc -std=gnu99 -I"/usr/share/R/include" -DNDEBUG -I. -I/usr/lib/jvm/default-java/include -I/usr/lib/jvm/default-java/include/linux -fpic -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -c init.c -o init.o gcc -std=gnu99 -I"/usr/share/R/include" -DNDEBUG -I. -I/usr/lib/jvm/default-java/include -I/usr/lib/jvm/default-java/include/linux -fpic -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -c jri_glue.c -o jri_glue.o gcc -std=gnu99 -I"/usr/share/R/include" -DNDEBUG -I. -I/usr/lib/jvm/default-java/include -I/usr/lib/jvm/default-java/include/linux -fpic -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -c loader.c -o loader.o gcc -std=gnu99 -I"/usr/share/R/include" -DNDEBUG -I. -I/usr/lib/jvm/default-java/include -I/usr/lib/jvm/default-java/include/linux -fpic -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -c otables.c -o otables.o gcc -std=gnu99 -I"/usr/share/R/include" -DNDEBUG -I. -I/usr/lib/jvm/default-java/include -I/usr/lib/jvm/default-java/include/linux -fpic -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -c rJava.c -o rJava.o gcc -std=gnu99 -I"/usr/share/R/include" -DNDEBUG -I. -I/usr/lib/jvm/default-java/include -I/usr/lib/jvm/default-java/include/linux -fpic -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -c registration.c -o registration.o gcc -std=gnu99 -I"/usr/share/R/include" -DNDEBUG -I. -I/usr/lib/jvm/default-java/include -I/usr/lib/jvm/default-java/include/linux -fpic -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -c tools.c -o tools.o gcc -std=gnu99 -shared -L/usr/lib/R/lib -Wl,-Bsymbolic-functions -Wl,-z,relro -o rJava.so Rglue.o arrayc.o callJNI.o callback.o fields.o init.o jri_glue.o loader.o otables.o rJava.o registration.o tools.o -L/usr/lib/jvm/default-java/jre/lib/amd64/server -ljvm -L/usr/lib/R/lib -lR (cd ../jri && make) make[1]: Entering directory '/tmp/RtmpQeRtyF/R.INSTALL60f3d5ed5db/rJava/jri' make -C src JRI.jar make[2]: Entering directory '/tmp/RtmpQeRtyF/R.INSTALL60f3d5ed5db/rJava/jri/src' /usr/lib/jvm/default-java/bin/javac -target 1.4 -source 1.4 -d . ../RConsoleOutputStream.java ../RFactor.java ../REXP.java ../Rengine.java ../Mutex.java ../package-info.java ../RMainLoopCallbacks.java ../RVector.java ../RBool.java ../RList.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 if [ -n "/usr/lib/jvm/default-java/bin/javah" ]; then /usr/lib/jvm/default-java/bin/javah -d . -classpath . org.rosuda.JRI.Rengine; fi gcc -std=gnu99 -c -o Rengine.o Rengine.c -g -Iinclude -DRIF_HAS_CSTACK -DRIF_HAS_RSIGHAND -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -I/usr/lib/jvm/default-java/include -I/usr/lib/jvm/default-java/include/linux -fpic -I/usr/lib/jvm/default-java/include -I/usr/lib/jvm/default-java/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 -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -I/usr/lib/jvm/default-java/include -I/usr/lib/jvm/default-java/include/linux -fpic -I/usr/lib/jvm/default-java/include -I/usr/lib/jvm/default-java/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 -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -I/usr/lib/jvm/default-java/include -I/usr/lib/jvm/default-java/include/linux -fpic -I/usr/lib/jvm/default-java/include -I/usr/lib/jvm/default-java/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 -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -I/usr/lib/jvm/default-java/include -I/usr/lib/jvm/default-java/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 -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -I/usr/lib/jvm/default-java/include -I/usr/lib/jvm/default-java/include/linux -fpic -I/usr/lib/jvm/default-java/include -I/usr/lib/jvm/default-java/include/linux gcc -std=gnu99 -c -o rjava.o rjava.c -g -Iinclude -DRIF_HAS_CSTACK -DRIF_HAS_RSIGHAND -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -I/usr/lib/jvm/default-java/include -I/usr/lib/jvm/default-java/include/linux -fpic -I/usr/lib/jvm/default-java/include -I/usr/lib/jvm/default-java/include/linux rjava.c: In function ‘RJava_request_lock’: rjava.c:22:3: 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:3: 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:3: 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:3: warning: ignoring return value of ‘write’, declared with attribute warn_unused_result [-Wunused-result] write(ipcout, buf, sizeof(ptrlong)); ^ rjava.c:52:3: 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/default-java/jre/lib/amd64/server -ljvm -Wl,--export-dynamic -fopenmp -Wl,-Bsymbolic-functions -Wl,-z,relro -L/usr/lib/R/lib -lR -lpcre2-8 -lpcre -llzma -lbz2 -lz -lrt -ldl -lm /usr/bin/ld: cannot find -lpcre2-8 collect2: error: ld returned 1 exit status Makefile.all:35: recipe for target 'libjri.so' failed make[2]: *** [libjri.so] Error 1 make[2]: Leaving directory '/tmp/RtmpQeRtyF/R.INSTALL60f3d5ed5db/rJava/jri/src' Makefile.all:19: recipe for target 'src/JRI.jar' failed make[1]: *** [src/JRI.jar] Error 2 make[1]: Leaving directory '/tmp/RtmpQeRtyF/R.INSTALL60f3d5ed5db/rJava/jri' Makevars:14: recipe for target 'jri' failed make: *** [jri] Error 2 ERROR: compilation failed for package ‘rJava’ * removing ‘/usr/local/lib/R/site-library/rJava’ The downloaded source packages are in ‘/tmp/RtmpRqbO8U/downloaded_packages’ Warning message: In install.packages("rJava") :
After searching Makefile.all:35: recipe for target 'libjri.so' failed
, several lib
are added.
1 2 sudo apt-get install libbz2-dev libpcre3-dev sudo apt-get install liblzma-dev zlib1g-dev
But the error still exists, and I check the returned error again and find one line /usr/bin/ld: cannot find -lpcre2-8
, which seems to remind us one lib
can not be found.
Then I find a solution to resolve this error. Although I have installed libpcre2-8-0
, compiler still can not find it. So I relink libpcre2-8.so
to where .so
file really is.
1 ln -s ./x86_64-linux-gnu/libpcre2-8 .so.0 .3 .0 libpcre2-8 .so
Then the problem is solved.