[R] R and Java 10 ➜ rJava not able to build

Ista Zahn istazahn at gmail.com
Wed Mar 28 15:55:46 CEST 2018


On Tue, Mar 27, 2018 at 9:39 PM, Jeff Newmiller
<jdnewmil at dcn.davis.ca.us> wrote:
> I am not a Mac user, but I do use Linux and I would recommend not running R with sudo unless you are an admin ninja. That defensive practice would render the answer to your question moot.

I don't think this is reasonable advice, given that both R CMD
javareconf and the rJava package makefile explicitly instruct you to
run R CMD javareconf as root.


>
> It is possible that your problem may have started with inappropriate use of sudo in configuring java, but configuring Java is not on-topic here.

I also disagree with this. You don't have to answer if you don't want
to, but the question is about getting the rJava package to work with
Java JDK 10, and I for one consider that to be on-topic here.


Best,
Ista

> --
> Sent from my phone. Please excuse my brevity.
>
> On March 27, 2018 12:25:33 PM PDT, Luis Puerto <luiss.puerto at gmail.com> wrote:
>>Hi!
>>
>>I’m on macOS 10.13.3 and just installed the new Java 10 using Homebrew
>>Cask. I also have installed R with Homebrew. Everything seems to work
>>fine, however I just get different outputs if I run sudo R CMD
>>javareconf or R CMD javareconf. With sudo I get pointed to Java 9 and
>>without sudo I get pointed to Java 10. I really don’t know why.
>>
>>Without sudo:
>>
>>$ R CMD javareconf
>>
>>Java interpreter :
>>/Library/Java/JavaVirtualMachines/jdk-10.jdk/Contents/Home/bin/java
>>Java version     : 10
>>Java home path   :
>>/Library/Java/JavaVirtualMachines/jdk-10.jdk/Contents/Home
>>Java compiler    :
>>/Library/Java/JavaVirtualMachines/jdk-10.jdk/Contents/Home/bin/javac
>>Java headers gen.: /usr/bin/javah
>>Java archive tool:
>>/Library/Java/JavaVirtualMachines/jdk-10.jdk/Contents/Home/bin/jar
>>Non-system Java on macOS
>>
>>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
>>/usr/local/opt/llvm/bin/clang
>>-I/usr/local/Cellar/r/3.4.4/lib/R/include -DNDEBUG
>>-I/Library/Java/JavaVirtualMachines/jdk-10.jdk/Contents/Home/include
>>-I/Library/Java/JavaVirtualMachines/jdk-10.jdk/Contents/Home/include/darwin
>>-I/usr/local/opt/gettext/include -I/usr/local/opt/llvm/include   -fPIC
>>-g -O3 -Wall -pedantic -std=gnu99 -mtune=native -pipe -c conftest.c -o
>>conftest.o
>>/usr/local/opt/llvm/bin/clang++ -dynamiclib
>>-Wl,-headerpad_max_install_names -undefined dynamic_lookup
>>-single_module -multiply_defined suppress -L/usr/local/opt/gettext/lib
>>-L/usr/local/opt/llvm/lib -Wl,-rpath,/usr/local/opt/llvm/lib
>>-L/usr/local/Cellar/r/3.4.4/lib/R/lib -L/usr/local/opt/gettext/lib
>>-L/usr/local/opt/llvm/lib -Wl,-rpath,/usr/local/opt/llvm/lib -o
>>conftest.so conftest.o
>>-L/Library/Java/JavaVirtualMachines/jdk-10.jdk/Contents/Home/lib/server
>>-ljvm -L/usr/local/Cellar/r/3.4.4/lib/R/lib -lR -lintl -Wl,-framework
>>-Wl,CoreFoundation
>>
>>
>>JAVA_HOME        :
>>/Library/Java/JavaVirtualMachines/jdk-10.jdk/Contents/Home
>>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 /usr/local/Cellar/r/3.4.4/lib/R
>>override rw-r--r--  root/admin for
>>/usr/local/Cellar/r/3.4.4/lib/R/etc/Makeconf? (y/n [n]) y
>>override rw-r--r--  root/admin for
>>/usr/local/Cellar/r/3.4.4/lib/R/etc/ldpaths? (y/n [n]) y
>>Done.
>>With sudo:
>>
>>$ sudo R CMD javareconf
>>
>>Java interpreter :
>>/Library/Java/JavaVirtualMachines/jdk-9.0.4.jdk/Contents/Home/bin/java
>>Java version     : 9.0.4
>>Java home path   :
>>/Library/Java/JavaVirtualMachines/jdk-9.0.4.jdk/Contents/Home
>>Java compiler    :
>>/Library/Java/JavaVirtualMachines/jdk-9.0.4.jdk/Contents/Home/bin/javac
>>Java headers gen.:
>>/Library/Java/JavaVirtualMachines/jdk-9.0.4.jdk/Contents/Home/bin/javah
>>Java archive tool:
>>/Library/Java/JavaVirtualMachines/jdk-9.0.4.jdk/Contents/Home/bin/jar
>>Non-system Java on macOS
>>
>>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
>>/usr/local/opt/llvm/bin/clang
>>-I/usr/local/Cellar/r/3.4.4/lib/R/include -DNDEBUG
>>-I/Library/Java/JavaVirtualMachines/jdk-9.0.4.jdk/Contents/Home/include
>>-I/Library/Java/JavaVirtualMachines/jdk-9.0.4.jdk/Contents/Home/include/darwin
>>-I/usr/local/opt/gettext/include -I/usr/local/opt/llvm/include   -fPIC
>>-g -O3 -Wall -pedantic -std=gnu99 -mtune=native -pipe -c conftest.c -o
>>conftest.o
>>/usr/local/opt/llvm/bin/clang++ -dynamiclib
>>-Wl,-headerpad_max_install_names -undefined dynamic_lookup
>>-single_module -multiply_defined suppress -L/usr/local/opt/gettext/lib
>>-L/usr/local/opt/llvm/lib -Wl,-rpath,/usr/local/opt/llvm/lib
>>-L/usr/local/Cellar/r/3.4.4/lib/R/lib -L/usr/local/opt/gettext/lib
>>-L/usr/local/opt/llvm/lib -Wl,-rpath,/usr/local/opt/llvm/lib -o
>>conftest.so conftest.o
>>-L/Library/Java/JavaVirtualMachines/jdk-9.0.4.jdk/Contents/Home/lib/server
>>-ljvm -L/usr/local/Cellar/r/3.4.4/lib/R/lib -lR -lintl -Wl,-framework
>>-Wl,CoreFoundation
>>
>>
>>JAVA_HOME        :
>>/Library/Java/JavaVirtualMachines/jdk-9.0.4.jdk/Contents/Home
>>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 /usr/local/Cellar/r/3.4.4/lib/R
>>Done.
>>The result of be pointed to Java 10 is rJava package not be able to
>>build.
>>
>>warning: [options] bootstrap class path not set in conjunction with
>>-source 6
>>warning: [options] source value 6 is obsolete and will be removed in a
>>future release
>>warning: [options] target value 1.6 is obsolete and will be removed in
>>a future release
>>warning: [options] To suppress warnings about obsolete options, use
>>-Xlint:-options.
>>Note: Some input files use or override a deprecated API.
>>Note: Recompile with -Xlint:deprecation for details.
>>Note: Some input files use unchecked or unsafe operations.
>>Note: Recompile with -Xlint:unchecked for details.
>>4 warnings
>>/usr/bin/javah -d . -classpath . org.rosuda.JRI.Rengine
>>Unable to locate an executable at
>>"/Library/Java/JavaVirtualMachines/jdk-10.jdk/Contents/Home/bin/javah"
>>(-1)
>>make[2]: *** [org_rosuda_JRI_Rengine.h] Error 2
>>make[1]: *** [src/JRI.jar] Error 2
>>make: *** [jri] Error 2
>>ERROR: compilation failed for package ‘rJava’
>>* removing ‘/Users/lpuerto/Library/R/3.x/library/rJava’
>>* restoring previous ‘/Users/lpuerto/Library/R/3.x/library/rJava’
>>
>>The downloaded source packages are in
>>‘/private/var/folders/wf/41gjf2mx7m7fmvfd8dr22_5h0000gn/T/RtmpT2kJMY/downloaded_packages’
>>Warning message:
>>In install.packages("rJava", repos = "cloud.r-project.org") :
>>  installation of package ‘rJava’ had non-zero exit status
>>I've checked and there isn't a javah on
>>/Library/Java/JavaVirtualMachines/jdk-10.jdk/Contents/Home/bin/javah as
>>in Java 9. Which make me think that either R CMD javareconf isn’t
>>working properly with Java 10 or rJava is not yet compatible with Java
>>10.
>>
>>Does anyone know what is going on?
>>
>>Thanks!
>>
>>PS/ I’ve opened an issue <https://github.com/s-u/rJava/issues/137> in
>>rJava’s github and a question in stackoverflow
>><https://stackoverflow.com/questions/49519007/sudo-r-cmd-javareconf-and-r-cmd-javareconf-produce-different-output-with-java-10>.
>>
>>
>>
>>Best Regards
>>Luis Puerto
>>http://luisspuerto.net
>>
>>
>>       [[alternative HTML version deleted]]
>>
>>______________________________________________
>>R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
>>https://stat.ethz.ch/mailman/listinfo/r-help
>>PLEASE do read the posting guide
>>http://www.R-project.org/posting-guide.html
>>and provide commented, minimal, self-contained, reproducible code.
>
> ______________________________________________
> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.



More information about the R-help mailing list