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 (201
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
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:
sudo R CMD javareconf
Opened up R from my terminal and ran:
install_packages("rJava")
install_packages("xlsx")
This worked for me:
sudo R CMD javareconf
Then, in the R interpretor:
install.packages('rJava', type='source')
install.packages('xlsx', type='source')
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
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!
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.