macOS 10.12.6
default llvm installed via homebrew: brew install llvm (succeeds and results in executable linked at path in setup.py line 36)
Description of problem and/or code sample that reproduces the issue
setup.py permits use of llvm as a cython complier/linker when building arctic. Line 36 of the file identifies the link into the llvm cellar installed by brew, and the ValueError at line 42 suggests installing either gcc or llvm via brew install gcc or brew install llvm if setup.py can't find either complier.
I chose to brew install llvm if only for the reason that I knew Apple had switched to that in Xcode. When I ran pip3 install git+https://github.com/manahl/arctic.git I had a failure when linking OpenMP:
/usr/local/opt/llvm/bin/clang -bundle -undefined dynamic_lookup -fno-common -fno-strict-aliasing -DENABLE_DTRACE -DMACOSX -DNDEBUG -Wall -g -fwrapv -Os build/temp.macosx-10.12-x86_64-3.6/src/_compress.o build/temp.macosx-10.12-x86_64-3.6/src/lz4.o build/temp.macosx-10.12-x86_64-3.6/src/lz4hc.o -L/usr/local/lib -L/usr/local/opt/openssl/lib -L/usr/local/opt/sqlite/lib -o build/lib.macosx-10.12-x86_64-3.6/arctic/_compress.cpython-36m-darwin.so -fopenmp=libiomp5
ld: library not found for -liomp5
clang-6.0: error: linker command failed with exit code 1 (use -v to see invocation)
error: command '/usr/local/opt/llvm/bin/clang' failed with exit status 1
The linker option -fopenmp=libiomp5 is created in setup.py at lines 49:50.
I uninstalled llvm, installed gcc, and reran the pip install procedure, and everything built and installed without error.
Therefore, the linker option specification for llvm in setup.py at lines 49:50 is probably wrong.
Additionally, I note that setup.py does not try to find Xcode's complier when installed with command line tools. gcc, when installed with Xcode, is at /Applications/Xcode/Contents/Developer/usr/bin. (update: Xcode's clang does not include OpenMP support - they use Apple's Grand Central Dispatch instead.)
Arctic Version
Platform and version
macOS 10.12.6 default llvm installed via homebrew:
brew install llvm
(succeeds and results in executable linked at path in setup.py line 36)Description of problem and/or code sample that reproduces the issue
setup.py permits use of llvm as a cython complier/linker when building arctic. Line 36 of the file identifies the link into the llvm cellar installed by brew, and the ValueError at line 42 suggests installing either gcc or llvm via
brew install gcc
orbrew install llvm
if setup.py can't find either complier.I chose to
brew install llvm
if only for the reason that I knew Apple had switched to that in Xcode. When I ranpip3 install git+https://github.com/manahl/arctic.git
I had a failure when linking OpenMP:The linker option
-fopenmp=libiomp5
is created in setup.py at lines 49:50.I uninstalled llvm, installed gcc, and reran the pip install procedure, and everything built and installed without error.
Therefore, the linker option specification for llvm in setup.py at lines 49:50 is probably wrong.
Additionally, I note that setup.py does not try to find Xcode's complier when installed with command line tools. gcc, when installed with Xcode, is at /Applications/Xcode/Contents/Developer/usr/bin. (update: Xcode's clang does not include OpenMP support - they use Apple's Grand Central Dispatch instead.)