On Jun 18, 2016, at 12:43 AM, Berend Hasselman <bhh at xs4all.nl> wrote:
On 18 Jun 2016, at 00:28, MacQueen, Don <macqueen1 at llnl.gov> wrote:
I?m not sure the best place to ask about this, so I?ll start here, since the problem appears to be configuring Java on a Mac to support R packages. Unfortunately, my understanding of how to configure and manage Java is essentially non-existent, so any suggestions would be much appreciated.
I have a script using RJDBC that is working on a Mac running OS X 10.10.5. The same script, with the same JDBC .jar files from Oracle, is not working on an OS X 10.11.4 machine, as shown below. Other packages that depend on Java, such as xlsx, are not working either.
I have run R CMD javareconf to no avail (output below).
The software management system used by our IT department claims that "Oracle Java 1.7 SDK and JRE" are installed.
I had similar issues with rJava. See this thread: https://stat.ethz.ch/pipermail/r-sig-mac/2016-February/011836.html
I made a shell script for reinstalling rJava whenever the R version changes.
It runs in the folder where you have the rJava source tarball.
<script>
R -e 'Sys.getenv("DYLD_FALLBACK_LIBRARY_PATH")'
R CMD javareconf
R -e 'Sys.getenv("DYLD_FALLBACK_LIBRARY_PATH")'
RMAINLIB="$(R RHOME)/library"
# install rJava from source in to main library
R CMD INSTALL --library="$RMAINLIB" rJava_0.9-8.tar.gz > install.out
</script>
I've just tested this after removing the installed version of rJava.
I can load things like XLConnect etc. without problems.
Then you can use rJava etc. with R in Terminal. Using rJava doesn't work in/with R GUI.
Berend
jdbm <- JDBC('oracle.jdbc.OracleDriver', '/opt/ora11g/instantclient_11_2/ojdbc6.jar', "`")
JavaVM: requested Java version ((null)) not available. Using Java at "" instead.
JavaVM: Failed to load JVM: /bundle/Libraries/libserver.dylib
JavaVM FATAL: Failed to load the jvm library.
Error in .jinit(classPath) : JNI_GetCreatedJavaVMs returned -1
R version 3.3.0 (2016-05-03)
Platform: x86_64-apple-darwin13.4.0 (64-bit)
Running under: OS X 10.11.4 (El Capitan)
locale:
[1] C
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] RJDBC_0.2-5 rJava_0.9-8 DBI_0.4-1
[macqueen1-ml:~]% sudo R CMD javareconf
Java interpreter : /usr/bin/java
Java version : 1.7.0_101
Java home path : /Library/Java/JavaVirtualMachines/jdk1.7.0_101.jdk/Contents/Home/jre
Java compiler : /usr/bin/javac
Java headers gen.: /usr/bin/javah
Java archive tool: /usr/bin/jar
Non-system Java on OS X
trying to compile and link a JNI program
detected JNI cpp flags : -I$(JAVA_HOME)/../include -I$(JAVA_HOME)/../include/darwin
detected JNI linker flags : -L$(JAVA_HOME)/lib/server -ljvm
clang -I/Library/Frameworks/R.framework/Resources/include -DNDEBUG -I/Library/Java/JavaVirtualMachines/jdk1.7.0_101.jdk/Contents/Home/jre/../include -I/Library/Java/JavaVirtualMachines/jdk1.7.0_101.jdk/Contents/Home/jre/../include/darwin -I/usr/local/include -I/usr/local/include/freetype2 -I/opt/X11/include -fPIC -Wall -mtune=core2 -g -O2 -c conftest.c -o conftest.o
clang -dynamiclib -Wl,-headerpad_max_install_names -undefined dynamic_lookup -single_module -multiply_defined suppress -L/Library/Frameworks/R.framework/Resources/lib -L/usr/local/lib -o conftest.so conftest.o -L/Library/Java/JavaVirtualMachines/jdk1.7.0_101.jdk/Contents/Home/jre/lib/server -ljvm -F/Library/Frameworks/R.framework/.. -framework R -Wl,-framework -Wl,CoreFoundation
JAVA_HOME : /Library/Java/JavaVirtualMachines/jdk1.7.0_101.jdk/Contents/Home/jre
Java library path: $(JAVA_HOME)/lib/server
JNI cpp flags : -I$(JAVA_HOME)/../include -I$(JAVA_HOME)/../include/darwin
JNI linker flags : -L$(JAVA_HOME)/lib/server -ljvm
Updating Java configuration in /Library/Frameworks/R.framework/Resources
Done.
Also:
[macqueen1-ml:~]% java -version
java version "1.7.0_101"
Java(TM) SE Runtime Environment (build 1.7.0_101-b14)
Java HotSpot(TM) 64-Bit Server VM (build 24.101-b14, mixed mode)
Don MacQueen
Lawrence Livermore National Laboratory
macqueen1 at llnl.gov
925-423-1062