2017-06-06 1 views
3

J'essaye d'installer rJava sur MacOS Sierra. Avoir essayé les conseils et les guides ailleurs pour d'autres versions de MacOS telles que https://github.com/snowflakedb/dplyr-snowflakedb/wiki/Configuring-R-rJava-RJDBC-on-Mac-OS-X et Install xlsx and rJava on MacrJava sur MacOS Sierra 10.12.15: option non supportée fopenmp

mais cela ne fonctionne pas. Beaucoup apprécie toute aide. Merci.

Ma version Mac: macOS Sierra, la version 10.12.15 Ma version R: 3.4.0 (21/04/2017) version My rstudio: Version 0.99.903

version Java:

bash-3.2$ /usr/libexec/java_home -V 
bash-3.2$ java -version 
java version "1.8.0_131" 
Java(TM) SE Runtime Environment (build 1.8.0_131-b11) 
Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode) 


bash-3.2$ R CMD javareconf 
Java interpreter : /usr/bin/java 
Java version  : 1.8.0_131 
Java home path : /Library/Java/JavaVirtualMachines/jdk1.8.0_131.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 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 
clang -I/Library/Frameworks/R.framework/Resources/include -DNDEBUG -I/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home/jre/../include -I/Library/Java/JavaVirtualMachines/jdk1.8.0_131.jdk/Contents/Home/jre/../include/darwin -I/usr/local/include -fPIC -Wall -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.8.0_131.jdk/Contents/Home/jre/lib/server -ljvm -F/Library/Frameworks/R.framework/.. -framework R -Wl,-framework -Wl,CoreFoundation 


JAVA_HOME  : /Library/Java/JavaVirtualMachines/jdk1.8.0_131.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 
override rw-r--r-- root/admin for /Library/Frameworks/R.framework/Resources/etc/Makeconf? (y/n [n]) n 
not overwritten 
override rw-r--r-- root/admin for /Library/Frameworks/R.framework/Resources/etc/ldpaths? (y/n [n]) n 
not overwritten 
Done. 

Quand j'ai essayé d'installer rjava, j'ai couru

`R --quiet -e 'install.packages("rJava", type="source", repos="http://cran.us.r-project.org")` 

Je suis les erreurs:

clang: error: unsupported option '-fopenmp' 
make[2]: *** [libjri.jnilib] Error 1 
make[1]: *** [src/JRI.jar] Error 2 
make: *** [jri] Error 2 
ERROR: compilation failed for package ‘rJava’ 
* removing ‘/Library/Frameworks/R.framework/Versions/3.4/Resources/library/rJava’ 
* restoring previous ‘/Library/Frameworks/R.framework/Versions/3.4/Resources/library/rJava’ 

The downloaded source packages are in 
    ‘/private/var/folders/w8/ksbj8dh15bz2lkss7h2tpzk80000gn/T/Rtmp6r9HI0/downloaded_packages’ 
Warning message: 
In install.packages("rJava", type = "source", repos = "http://cran.us.r-project.org") : 
    installation of package ‘rJava’ had non-zero exit status 

Je couru:

"curl -#ROL https://www.rforge.net/rJava/snapshot/rJava_0.9-8.tar.gz 
R CMD INSTALL rJava_0.9-8.tar.gz" 

et a obtenu les messages d'erreur suivants:

clang: error: unsupported option '-fopenmp' 
make[2]: *** [libjri.jnilib] Error 1 
make[1]: *** [src/JRI.jar] Error 2 
make: *** [jri] Error 2 
ERROR: compilation failed for package ‘rJava’ 

* removing ‘/Library/Frameworks/R.framework/Versions/3.4/Resources/library/rJava’ 
* restoring previous ‘/Library/Frameworks/R.framework/Versions/3.4/Resources/library/rJava’ 

Je ne sais pas quoi faire. Merci de votre aide.

Répondre

0

Jetez un oeil ici:

http://www.owsiak.org/?p=3671

Vous pouvez trouver la description assez détaillée de la façon de traiter Rjava dans MacOs.

Assurez-vous d'installer JDK fourni par Oracle avant de poursuivre.

+0

Une excellente idée! Je vous remercie! – hnguyen123

2

Cet article here a résolu ce problème fopenmp pour moi sur macOS Sierra 10.12.4. J'ai décrit la solution here mais aussi ci-dessous. Le problème est que l'option forenmp n'est pas supportée dans macOS gcc donc nous devons compiler une nouvelle version de gcc.


Solution à forenmp problème

J'ai testé avec r-app brew cask install r-app de Homerew et d'Oracle JDK. Ensuite, je l'ai fait ce qui suit

brew install homebrew/versions/gcc49 --without-multilib #Long ~70min compiling... 
sudo chown -R $(whoami):admin /usr/local 
brew link --overwrite --force gcc49 
brew unlink gcc49 && brew link gcc49 
brew install llvm 
mkdir ~/.R; touch ~/.R/Makevars 

echo "VER=-4.9 
CC=gcc$(VER) 
CXX=g++$(VER) 
CXX1X=g++$(VER) 
CFLAGS=-mtune=native -g -O2 -Wall -pedantic -Wconversion 
CXXFLAGS=-mtune=native -g -O2 -Wall -pedantic -Wconversion 
FLIBS=-L/usr/local/Cellar/gcc/4.9.3/lib/gcc/4.9" > ~/.R/Makevars 

et maintenant

sudo R CMD javareconf 
Rscript -e 'install.packages("rJava", repos="http://rforge.net", type="source")' 

et maintenant Rjava marche!

+0

Merci beaucoup! Votre message est très utile. Cela fonctionne après que je suis allé à l'article original que vous avez référé et réinstallé et mis à jour tout. – hnguyen123

+0

Une idée de ce que la version actuelle de ce est? –