Menthor
Menthor

Reputation: 71

Install xlsx and rJava on macOS Mavericks 10.9.5

Its being a real nightmare to install rjava on my Mac.

My setup:

MacOS 10.9.5
Java: 7u71 (64 bits dowloaded from Oracle site)
R: R version 3.1.1 (2014-07-10)

First, in the command line I ran the

sudo R CMD javareconf

Then, I ran inside R:

install.packages('rJava')

The error in the end of the compiling is this:

JavaVM -F/opt/local/Library/Frameworks/R.framework/.. -framework R -llzma -lm -liconv -licuuc -licui18n
ld: library not found for -licuuc
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [libjri.jnilib] Error 1
make[1]: *** [src/JRI.jar] Error 2
make: *** [jri] Error 2
ERROR: compilation failed for package ‘rJava’
* removing ‘/Users/costa/Library/R/3.1/library/rJava’

I tried Java 8 and the Mac default java and also got the same error.

Ideias?

Upvotes: 7

Views: 8393

Answers (6)

Detlef Engelbrecht
Detlef Engelbrecht

Reputation: 41

What I did (using macports R) as root (sudo bash):

  • edit /opt/local/Library/Frameworks/R.framework/Resources/etc/Makeconf and change the line

    LIBS =  -llzma -lm -liconv -licuuc -licui18n
    

    to

    LIBS =  -llzma -lm -liconv
    
  • install the original 1.6 Mac Java

  • export JAVA_HOME=/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home

  • run R CMD javareconf

Now you can start R and do a install.packages("rJava"). Using the 1.6 version of Java made sure that also RStudio can load the rJava package.

If you do not plan using RStudio, you can also use Java 1.8

Upvotes: 4

bsky
bsky

Reputation: 20222

This worked for me:

sudo R CMD javareconf

Then, in the R interpretor:

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

Upvotes: 1

Dr. Arun
Dr. Arun

Reputation: 351

I was actually able to avoid editing my environment completely by using the Mac binary to install rJava on my Macbook (running OSX Yosemite and R version 3.2.3). First, do the following in R to install rJava:

install.packages("rJava", type = "mac.binary")

Presumably independent of this, for some reason I couldn't install xlsx until I first installed the xlsxjars dependency. So do the following in R:

install.packages(c("xlsxjars", "xlsx"))

And with those two commands, xlsx appears to install just fine on a mac!

Upvotes: 1

stephenhouser
stephenhouser

Reputation: 385

Using the old Java SE 6 I was able to get rJava compiled by running javareconf as follows:

JAVA_HOME=/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home \
JAVA_CPPFLAGS=-I/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/System/Library/Frameworks/JavaVM.framework/Versions/Current/Headers/ \
r CMD javareconf

Upvotes: 0

Ashwin Balamohan
Ashwin Balamohan

Reputation: 3332

I had the same issue. I'm using OS X Yosemite and initially had installed R through homebrew

I performed the following steps to fix it:

  1. Closed all instances of R
  2. In my terminal shell, ran sudo R CMD javareconf
  3. Opened up R from my terminal and ran:

    install_packages("rJava")

    install_packages("xlsx")

Upvotes: 0

Joqer
Joqer

Reputation: 11

I had the same error on my computer (Mac OS 10.9.5, Java 1.8.0_11, R 3.1.1). Installing the newest Java JDK from Oracle (1.8.0_25) didn't solve the problem (yet). However, after updating Java, installing R 3.1.2 solved the problem for me. After running install.packages("rJava"), this works:

> library("rJava")
> .jinit() # this starts the JVM
> s <- .jnew("java/lang/String", "Hello World!")
> .jcall(s,"I","length")
[1] 12

Do note that updating the JDK is something different from the Java version in the GUI Java Control Panel, accessible through the System preferences. The latter is only the JRE for the internet browser plugin.

Upvotes: 1

Related Questions