macos - MacOS Sierra 10.12.15 上的 rJava : unsupported option fopenmp

标签 macos installation macos-sierra rjava

我正在尝试在 MacOS Sierra 上安装 rJava。必须在其他地方尝试其他版本 MacOS 的提示和指南,例如 https://github.com/snowflakedb/dplyr-snowflakedb/wiki/Configuring-R-rJava-RJDBC-on-Mac-OS-XInstall xlsx and rJava on Mac

但是没有成功。非常感谢任何帮助。谢谢。

我的 Mac 版本:macOS Sierra,版本 10.12.15 我的R版本:3.4.0(2017-04-21) 我的Rstudio版本:版本0.99.903

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.

当我尝试安装 rJava 时,我运行了

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

我收到错误:

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

我跑了:

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

并收到以下错误消息:

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’

我不知道该怎么办。感谢您的帮助。

最佳答案

这篇文章here在 macOS Sierra 10.12.4 上为我解决了这个 fopenmp 问题。我概述了解决方案 here但也在下面。问题是 macOS gcc 不支持 forenmp 选项,所以我们必须编译新版本的 gcc。

<小时/>

forenmp问题的解决方案

我已经使用 Homerew 的 r-app brew cask install r-app 和 Oracle 的 JDK 对此进行了测试。然后我做了以下事情

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

现在

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

现在 rJava 可以工作了!

关于macos - MacOS Sierra 10.12.15 上的 rJava : unsupported option fopenmp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44383668/

相关文章:

arrow-keys - macOS Sierra - 一种在按住箭头键时移动光标的方法

Docker 登录身份验证 token

objective-c - 应用被拒绝,因为缺少引用的框架

git - 同一设备上的多个 SSH key

macos - 提交到 Mac 应用商店时出现收据验证错误

c# - 安装程序自定义操作 - 注册 COM dll - C#

Ruby 和 RVM 无法安装 ruby​​-1.9.3-p392

更改端口后 phpmyadmin 框架内容未加载,已更改 PmaAbsoluteUri

c# - 如何创建类似于 Visual Studio 2008 安装程序的安装程序

r - R 3.4.1在Mac上的控制台界面非常慢