openmp wasn't detected on mac with installed llvm and libomp
Opened this issue · 3 comments
Describe the bug
I have installed llvm and libomp successfully and set configure arguments, yet openmp still couldn't be detected.
Code for Reproduction
install.packages('abess', type = 'source')
Desktop (please complete the following information):
- OS: macOS sonoma
- R Version: 4.4.1
- Package Version: 0.4.9
Screenshots
-
installing source package ‘abess’ ...
** package ‘abess’ successfully unpacked and MD5 sums checked
** using staged installation
checking whether the C++ compiler works... yes
checking for C++ compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether the compiler supports GNU C++... yes
checking whether /opt/homebrew/opt/llvm/bin/clang++ accepts -g... yes
checking for /opt/homebrew/opt/llvm/bin/clang++ option to enable C++11 features... none needed
checking how to run the C++ preprocessor... /opt/homebrew/opt/llvm/bin/clang++ -E
checking for gcc... /opt/homebrew/opt/llvm/bin/clang
checking whether the compiler supports GNU C... yes
checking whether /opt/homebrew/opt/llvm/bin/clang accepts -g... yes
checking for /opt/homebrew/opt/llvm/bin/clang option to enable C11 features... none needed
checking how to run the C preprocessor... /opt/homebrew/opt/llvm/bin/clang -E
Spectra library exists.
Complier code exists in src/ directory. Install R package according to the complier code.
checking whether OpenMP will work in a package... no
OpenMP is unavailable on this Mac OSX system. Training speed may be suboptimal.
To use all CPU cores for training jobs, you should install OpenMP by runningbrew install libomp
configure: creating ./config.status
config.status: creating src/Makevars
Attached is my ~/.R/Makevars:
CC=/opt/homebrew/opt/llvm/bin/clang
CXX=/opt/homebrew/opt/llvm/bin/clang++
CFLAGS += -Xclang -fopenmp
LDFLAGS += -L/opt/homebrew/opt/libomp/lib -lomp
CPPFLAGS += -I/opt/homebrew/opt/libomp/include