2

Where does rJava take location of JDK from ? I have JAVA_HOME set but on install.packages("rJava") I get this

checking Java support in R... present:
interpreter : '/usr/lib/jvm/default-java/jre/bin/java'
archiver    : '/usr/lib/jvm/default-java/bin/jar'
compiler    : '/usr/lib/jvm/default-java/bin/javac'
header prep.: '/usr/lib/jvm/default-java/bin/javah'
cpp flags   : '-I/usr/lib/jvm/default-java/include -I/usr/lib/jvm/default-java/include/linux'
java libs   : '-L/usr/lib/jvm/default-java/jre/lib/amd64/server -ljvm'
checking whether Java run-time works... 
./configure: line 3736: /usr/lib/jvm/default-java/jre/bin/java: No such file or directory
no
configure: error: Java interpreter '/usr/lib/jvm/default-java/jre/bin/java' does not work
ERROR: configuration failed for package ‘rJava’

I can't figure out where it takes /usr/lib/jvm/default-java/ from.

expert
  • 29,290
  • 30
  • 110
  • 214

1 Answers1

2

From R which stores this when it is configured:

edd@max:~$ grep ^JAVA /etc/R/Makeconf 
JAVA = /usr/lib/jvm/default-java/jre/bin/java
JAVAC = /usr/lib/jvm/default-java/bin/javac
JAVAH = /usr/lib/jvm/default-java/bin/javah
JAVA_HOME = /usr/lib/jvm/default-java
JAVA_CPPFLAGS = -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/linux
JAVA_LIBS = -L$(JAVA_HOME)/jre/lib/amd64/server -ljvm
JAVA_LD_LIBRARY_PATH = $(JAVA_HOME)/jre/lib/amd64/server
edd@max:~$ 

If you update your Java toolchain you can update this via R CMD javareconf.

Dirk Eddelbuettel
  • 360,940
  • 56
  • 644
  • 725