Hi Jeff!! I really don’t know if running R CMD javareconf with sudo has posed a problem here, now or in the past. What I know is sometimes it’s the only way to really config it, if I don’t run with sudo, in the end it asks me if I want to overwrite the configuration from root
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 So I really don’t know if this is the problem here or not. I really think the problem for R is and rJava is there is no longer a javah file. Unable to locate an executable at "/Library/Java/JavaVirtualMachines/jdk-10.jdk/Contents/Home/bin/javah" (-1) Anyhow… I’m still puzzle by the fact that R CMD javareconf with sudo and without has different outcome. > configuring Java is not on-topic here I can't understand why. The problem isn’t java itself but the tool to configure R to use it with a new version. Reading the released notes for Java 10: > tools/javah > > <http://www.oracle.com/technetwork/java/javase/10-relnote-issues-4108729.html#JDK-8182758> > JEP 313 Remove the Native-Header Generation Tool (javah) > As previously announced, the native-header tool, javah, has been removed. > > Native headers can now be generated by using the Java compiler, javac, with > the -h option. > > See JDK-8182758 <http://bugs.java.com/view_bug.do?bug_id=JDK-8182758> I don’t know if this can be fixed parsing an option in R CMD javareconf that points JAVAH to JAVAC -h > On 28 Mar 2018, at 04:39, Jeff Newmiller <jdnew...@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. > > 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. > -- > Sent from my phone. Please excuse my brevity. > > On March 27, 2018 12:25:33 PM PDT, Luis Puerto <luiss.pue...@gmail.com > <mailto:luiss.pue...@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 >> <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 >> >> <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 <http://luisspuerto.net/> >> >> >> [[alternative HTML version deleted]] >> >> ______________________________________________ >> R-help@r-project.org <mailto:R-help@r-project.org> mailing list -- To >> UNSUBSCRIBE and more, see >> https://stat.ethz.ch/mailman/listinfo/r-help >> <https://stat.ethz.ch/mailman/listinfo/r-help> >> PLEASE do read the posting guide >> http://www.R-project.org/posting-guide.html >> <http://www.r-project.org/posting-guide.html> >> and provide commented, minimal, self-contained, reproducible code. ______________________________________________ R-help@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.