2

I'm running R 3.2.4 on OS X 10.5, with multiple Java installations. I currently have JDK 7 as my default installation. Using R CMD javareconf it appears everything gets configured correctly:

guhar@NCATS-1850784-M:~/src/cdkr [master*]$ R CMD javareconf JAVA_CPPFLAGS='-I/Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home/include/'
Java interpreter : /Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home/jre/bin/java
Java version     : 1.7.0_71
Java home path   : /Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home
Java compiler    : /Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home/bin/javac
Java headers gen.: /Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home/bin/javah
Java archive tool: /Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home/bin/jar
System Java on OS X

trying to compile and link a JNI program 
detected JNI cpp flags    : -I/Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home/include/
detected JNI linker flags : -framework JavaVM
clang -I/Library/Frameworks/R.framework/Resources/include -DNDEBUG -I/Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home/include/ -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 -framework JavaVM -F/Library/Frameworks/R.framework/.. -framework R -Wl,-framework -Wl,CoreFoundation


JAVA_HOME        : /Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home
Java library path: 
JNI cpp flags    : -I/Library/Java/JavaVirtualMachines/jdk1.7.0_71.jdk/Contents/Home/include/
JNI linker flags : -framework JavaVM
Updating Java configuration in /Library/Frameworks/R.framework/Resources
Done.

I then install rJava 0.98 and no errors are reported. However, when I start R and use rJava it indicates that the java.version system property (which indicates the JRE version) is 1.6, even though JAVA_HOME is set to my JDK 7 installation:

> library(rJava)
> .jinit()
> .jcall("java/lang/System","S","getProperty","java.version")
[1] "1.6.0_65"

Is there something I need to set on the rJava side to make it recognize my JAVA_HOME setting? Or is this something that needs to be set in the OS X environment?

rguha
  • 707
  • 6
  • 13
  • This may or may not be of use: http://docs.oracle.com/javase/7/docs/webnotes/install/mac/mac-preferences.html – IRTFM Apr 28 '16 at 14:07
  • Maybe take a look to [this](http://stackoverflow.com/questions/26948777/how-can-i-make-rjava-use-the-newer-version-of-java-on-osx) – lrnzcig Apr 29 '16 at 13:19
  • I've never been able to figure this out either. For `.jcall("java/lang/System","S","getProperty","java.version")` I get [1] "1.6.0_65", but for `$ java -version` ( at a Terminal command line) i get `java version "1.8.0_25"` – IRTFM May 28 '16 at 05:53
  • I am also having this problem. Have you resolved it? – Barbara Jun 08 '16 at 19:47

0 Answers0