Install xlsx and rJava on macOS Mavericks 10.9.5

2019-01-19 17:55发布

问题:

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?

回答1:

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



回答2:

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.



回答3:

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!



回答4:

This worked for me:

sudo R CMD javareconf

Then, in the R interpretor:

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


回答5:

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")



回答6:

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


标签: java r macos rjava