Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

trouble installing and loading rJava on mac El Capitan

Have issue installing rJava, tried most troubleshooting steps here and doesn't work.

It's returning error

Loading required package: rJava
Error: package or namespace load failed for 'rJava':
 .onLoad failed in loadNamespace() for 'rJava', details:
 call: dyn.load(file, DLLpath = DLLpath, ...)
error: unable to load shared object     '/Library/Frameworks/R.framework/Versions/3.4/Resources/library/rJava/libs/    rJava.so':

I'm on latest ver of R/Rstudio and Mac El Capitan

I also tried this method 1 which didn't work

sudo R CMD javareconf

Then, in the R interpreter:

install.packages('rJava', type='source')
install.packages('xlsx', type='source')

method 2

sudo ln -s $(/usr/libexec/java_home)/jre/lib/server/libjvm.dylib /usr/local/lib

error returned ln: /usr/local/lib/libjvm.dylib: File exists

method 3 install.packages("rJava", type = "binary") error: tar: Failed to set default locale

to deal with default locale error

system("defaults write org.R-project.R force.LANG en_US.UTF-8")

upon loading rJava, still same error:

image not found

So looks like it's installed but won't load

like image 473
santoku Avatar asked May 20 '17 02:05

santoku


3 Answers

Here is my solution

Define path to R libraries, here R 3.4 version and open dir:

cd /Library/Frameworks/R.framework/Versions/3.4/Resources/lib

Remove libjvm.dylib:

rm libjvm.dylib

Create link to libjvm.dylib from Java libraries, here jdk1.8.0_151 version:

ln -s /Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home/jre/lib/server/libjvm.dylib libjvm.dylib

now go to R or RStudio and try:

library("rJava")
like image 76
user2904120 Avatar answered Oct 15 '22 06:10

user2904120


I did the same thing for java 9, it worked perfectly (macOS High Sierra), thanks:

cd /Library/Frameworks/R.framework/Versions/3.4/Resources/lib
rm libjvm.dylib
ln -s /Library/Java/JavaVirtualMachines/jdk-9.0.1.jdk/Contents/Home/lib/server/libjvm.dylib libjvm.dylib
like image 30
Thiago Lopes Avatar answered Oct 15 '22 07:10

Thiago Lopes


I also had a lot of trouble with this and eventually found the following SO thread to be the most relevant: rJava load error in RStudio/R after "upgrading" to OSX Yosemite

Basically, starting from no installation of rJava, and starting in the terminal:

  1. Form the sym link (note, the -f flag will overwirte existing links avoiding the error you encountered in "method 2".

$ sudo ln -f -s $(/usr/libexec/java_home)/jre/lib/server/libjvm.dylib /usr/local/lib

Then in RStudio:

  1. Ensure options('java.home') isn't NULL, and set if necessary:

options("java.home"="/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home/jre")

  1. Ensure the JAVA_HOME and LD_LIBRARY_PATH environment variables are set, and set if not:

Sys.setenv(JAVA_HOME='/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home') Sys.setenv(LD_LIBRARY_PATH='$JAVA_HOME/jre/lib/server')

After this I was able to install and load the rJava package in RStudio with

install.packages('rJava')
library(rJava)
like image 3
sgaw Avatar answered Oct 15 '22 07:10

sgaw