Trying to install the rJava package on R, on my 14.10 ubuntu, using this code
if (!require(rJava)) install.packages('rJava')got few errors related to java including jni problems, after reinstalling the jdk, and tried to run the same code again, got that error
Error : .onLoad failed in loadNamespace() for 'rJava', details: call: dyn.load(file, DLLpath = DLLpath, ...) error: unable to load shared object '/usr/local/lib/R/site-library/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 ‘/usr/local/lib/R/site-library/rJava’
Warning in install.packages : installation of package ‘rJava’ had non-zero exit status
The downloaded source packages are in ‘/tmp/RtmpfFjrp0/downloaded_packages’
Warning message:
In library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE, : there is no package called ‘rJava’looked for solutions, to find just about everyone suggesting (for x64) to execute those commands
export LD_LIBRARY_PATH=/usr/lib/jvm/java-8-oracle/lib/amd64:/usr/lib/jvm/java-8-oracle/jre/lib/amd64/server
sudo R CMD javareconf but that didn't work, is there anything else I can do? I will provide any needed details, and searching for libjvm.so on the entire machine resulted in this
/usr/lib/jvm/java-8-oracle/jre/lib/amd64/server/libjvm.so
/usr/lib/jvm/jdk1.8.25/jre/lib/amd64/server/libjvm.so
/usr/local/java/jre1.7.0_75/lib/amd64/server/libjvm.so 1 3 Answers
Executing the following should solve your problem:
$ export LD_LIBRARY_PATH=/usr/lib/jvm/java-8-oracle/jre/lib/amd64/server
$ sudo R CMD javareconf 2 Sometimes you need this R CMD javareconf -e
see
1Steps:
Find your R location. It will be stored in
rsession-ld-library-pathinrserver.conffile. Or just by doingwhich R. The location usually is/usr/lib64/R/libor/usr/lib64/microsoft-r/3.3/lib64/R/libFind the
libjvm.sofile which is usually in theusr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/serverpath depending on which jre you're using. Checkecho $JAVA_HOME.Create a symlink using
ln -ssudo ln -s /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/server/libjvm.so /usr/lib64/microsoft-r/3.3/lib64/R/lib/libjvm.soRestart R server