Hi Benjamin,
It is curious that MPI is not found on your system. Could you double check that you have installed open-mpi via Homebrew? What does
which mpicxx
return on your system?
Best, Hans Ekkehard
On 26 Oct 2019, at 17:04, Benjamin Staude <benjamin.staude@gmail.commailto:benjamin.staude@gmail.com> wrote:
Hi Hans-Ekkehard,
Thanks for the support, that solved one issue. But now, I get the same for OPEN_MPI:
-- Could NOT find MPI_C (missing: MPI_C_WORKS) -- Could NOT find MPI_CXX (missing: MPI_CXX_WORKS) -- Could NOT find MPI (missing: MPI_C_FOUND MPI_CXX_FOUND)
(I need open_mpi because I need the MUSIC interface). This is my cmake-call:
cmake \ -DCMAKE_C_COMPILER=gcc-9 \ -DCMAKE_CXX_COMPILER=g++-9 \ -Dwith-music=ON \ -Dwith-mpi=ON \ -Dwith-openmp=ON \ -DCMAKE_INSTALL_PREFIX=/Users/staude/.pyenv/versions/3.7.2/ \ /Users/staude/Projekte/RainerDunkel/SensoryNetwork/Skripte/snn/NEST/nest-simulator-2.18.0
And the output:
-- The CXX compiler identification is GNU 9.2.0 -- The C compiler identification is GNU 9.2.0 -- Checking whether CXX compiler has -isysroot -- Checking whether CXX compiler has -isysroot - yes -- Checking whether CXX compiler supports OSX deployment target flag -- Checking whether CXX compiler supports OSX deployment target flag - yes -- Check for working CXX compiler: /usr/local/bin/g++-9 -- Check for working CXX compiler: /usr/local/bin/g++-9 -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done -- Checking whether C compiler has -isysroot -- Checking whether C compiler has -isysroot - yes -- Checking whether C compiler supports OSX deployment target flag -- Checking whether C compiler supports OSX deployment target flag - yes -- Check for working C compiler: /usr/local/bin/gcc-9 -- Check for working C compiler: /usr/local/bin/gcc-9 -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done -- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE) -- Looking for include file inttypes.h -- Looking for include file inttypes.h - found -- Looking for include file mach-o/dyld.h -- Looking for include file mach-o/dyld.h - found -- Looking for include file mach/mach.h -- Looking for include file mach/mach.h - found -- Looking for include file memory.h -- Looking for include file memory.h - found -- Looking for include file stdint.h -- Looking for include file stdint.h - found -- Looking for include file sys/types.h -- Looking for include file sys/types.h - found -- Looking for C++ include istream -- Looking for C++ include istream - not found -- Looking for C++ include ostream -- Looking for C++ include ostream - not found -- Looking for C++ include sstream -- Looking for C++ include sstream - not found -- Looking for stddef.h -- Looking for stddef.h - found -- Check size of long long -- Check size of long long - done -- Check size of u_int16_t -- Check size of u_int16_t - done -- Check size of uint16_t -- Check size of uint16_t - done -- Check size of u_int64_t -- Check size of u_int64_t - done -- Check size of uint64_t -- Check size of uint64_t - done -- Looking for NAN -- Looking for NAN - found -- Looking for isnan -- Looking for isnan - found -- Looking for M_E -- Looking for M_E - found -- Looking for M_PI -- Looking for M_PI - found -- Looking for expm1 -- Looking for expm1 - found -- Host triple: x86_64-apple-darwin -- Target triple: x86_64-apple-darwin -- Found LTDL: /usr/local/lib/libltdl.dylib (found version "2.4.6") -- Found Readline: /usr/lib/libreadline.dylib (found version "4.2") -- Found PkgConfig: /usr/local/bin/pkg-config (found version "0.29.2") -- Found GSL: /usr/local/Cellar/gsl/2.6/include (found version "2.6") -- Found PythonInterp: /Users/staude/.pyenv/shims/python (found version "3.7.2") -- Found PythonLibs: /Users/staude/.pyenv/versions/3.7.2/lib/libpython3.7m.a (found suitable exact version "3.7.2") -- Found Cython: /Users/staude/.pyenv/shims/cython (found version "0.29.13") -- Found OpenMP_C: -fopenmp -- Found OpenMP_CXX: -fopenmp -- Found OpenMP: TRUE -- Could NOT find MPI_C (missing: MPI_C_WORKS) -- Could NOT find MPI_CXX (missing: MPI_CXX_WORKS) -- Could NOT find MPI (missing: MPI_C_FOUND MPI_CXX_FOUND) CMake Error at cmake/ProcessOptions.cmake:528 (message): MUSIC requires -Dwith-mpi=ON. Call Stack (most recent call first): CMakeLists.txt:167 (nest_process_with_music)
And the cmake-version: cmake --version cmake version 3.15.3
On 26. Oct 2019, at 14:11, Hans Ekkehard Plesser <hans.ekkehard.plesser@nmbu.nomailto:hans.ekkehard.plesser@nmbu.no> wrote:
Hi Benjamin,
The CMake output shows that you are using the AppleClang compiler, which does not support OpenMP. If you want to use that compiler, you need to turn off OpenMP with -Dwith-openmp=OFF.
If you want NEST with OpenMP on the Mac, I would recommend using the GCC compiler installed via Homebrew, see
https://nest-simulator.readthedocs.io/en/latest/installation/mac_install.htm...
for instructions.
Best, Hans Ekkehard
On 25 Oct 2019, at 18:12, Benjamin Staude benjamin.staude@gmail.com wrote:
Hi there,
I am trying to install nest under OSX Mojave and run into the following cmake-error (see below for a full trace):
-- Could NOT find OpenMP_C (missing: OpenMP_C_FLAGS OpenMP_C_LIB_NAMES) -- Could NOT find OpenMP_CXX (missing: OpenMP_CXX_FLAGS OpenMP_CXX_LIB_NAMES) -- Could NOT find OpenMP (missing: OpenMP_C_FOUND OpenMP_CXX_FOUND)
I already tried various tricks (http://stechschulte.net/2016/03/20/openmp-osx-cmake.html, https://stackoverflow.com/questions/48825416/missing-openmp-c-flags-openmp-c...), but had no success. Does anybody have experience?
Thanks in advance, Benjamin
#########################################################
-- The CXX compiler identification is AppleClang 9.0.0.9000038 -- The C compiler identification is AppleClang 9.0.0.9000038 -- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done -- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done -- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE) -- Looking for include file inttypes.h -- Looking for include file inttypes.h - found -- Looking for include file mach-o/dyld.h -- Looking for include file mach-o/dyld.h - found -- Looking for include file mach/mach.h -- Looking for include file mach/mach.h - found -- Looking for include file memory.h -- Looking for include file memory.h - found -- Looking for include file stdint.h -- Looking for include file stdint.h - found -- Looking for include file sys/types.h -- Looking for include file sys/types.h - found -- Looking for C++ include istream -- Looking for C++ include istream - found -- Looking for C++ include ostream -- Looking for C++ include ostream - found -- Looking for C++ include sstream -- Looking for C++ include sstream - found -- Looking for stddef.h -- Looking for stddef.h - found -- Check size of long long -- Check size of long long - done -- Check size of u_int16_t -- Check size of u_int16_t - done -- Check size of uint16_t -- Check size of uint16_t - done -- Check size of u_int64_t -- Check size of u_int64_t - done -- Check size of uint64_t -- Check size of uint64_t - done -- Looking for NAN -- Looking for NAN - found -- Looking for isnan -- Looking for isnan - found -- Looking for M_E -- Looking for M_E - found -- Looking for M_PI -- Looking for M_PI - found -- Looking for expm1 -- Looking for expm1 - found -- Host triple: x86_64-apple-darwin -- Target triple: x86_64-apple-darwin -- Found LTDL: /usr/local/lib/libltdl.dylib (found version "2.4.6") -- Found Readline: /usr/lib/libreadline.dylib (found version "4.2") -- Found PkgConfig: /usr/local/bin/pkg-config (found version "0.29.2") -- Found GSL: /usr/local/Cellar/gsl/2.6/include (found version "2.6") -- Found PythonInterp: /Users/staude/.pyenv/shims/python (found version "3.7.2") -- Found PythonLibs: /Users/staude/.pyenv/versions/3.7.2/lib/libpython3.7m.a (found suitable exact version "3.7.2") -- Found Cython: /Users/staude/.pyenv/shims/cython (found version "0.29.13") -- Could NOT find OpenMP_C (missing: OpenMP_C_FLAGS OpenMP_C_LIB_NAMES) -- Could NOT find OpenMP_CXX (missing: OpenMP_CXX_FLAGS OpenMP_CXX_LIB_NAMES) -- Could NOT find OpenMP (missing: OpenMP_C_FOUND OpenMP_CXX_FOUND) CMake Error at cmake/ProcessOptions.cmake:452 (message): CMake can not find OpenMP. Call Stack (most recent call first): CMakeLists.txt:164 (nest_process_with_openmp)
_______________________________________________ NEST Users mailing list -- users@nest-simulator.org To unsubscribe send an email to users-leave@nest-simulator.org
--
Prof. Dr. Hans Ekkehard Plesser Head, Data Science Section
Faculty of Science and Technology Norwegian University of Life Sciences PO Box 5003, 1432 Aas, Norway
Phone +47 6723 1560 Email hans.ekkehard.plesser@nmbu.no Home http://arken.nmbu.no/~plesser
-- -- -- Dr. Benjamin Staude | Paul-Lincke-Ufer 7 | 10999 Berlin | benjamin.staude@gmail.commailto:benjamin.staude@gmail.com
--
Prof. Dr. Hans Ekkehard Plesser Head, Data Science Section
Faculty of Science and Technology Norwegian University of Life Sciences PO Box 5003, 1432 Aas, Norway
Phone +47 6723 1560 Email hans.ekkehard.plesser@nmbu.no Home http://arken.nmbu.no/~plesser
Hi Hans-Ekkehard,
Here is some info on my mpicxx installations (after a brew uninstall and brew install):
staude:bld staude$ which mpicxx /usr/local/bin/mpicxx staude:bld staude$ ls -la /usr/local/bin/mpicxx lrwxr-xr-x 1 staude admin 35 Oct 28 08:42 /usr/local/bin/mpicxx -> ../Cellar/open-mpi/4.0.2/bin/mpicxx staude:bld staude$ mpicxx --version Apple LLVM version 9.0.0 (clang-900.0.38) Target: x86_64-apple-darwin18.7.0 Thread model: posix InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
Does that help?
Best, Benjamin
On 27. Oct 2019, at 22:01, Hans Ekkehard Plesser hans.ekkehard.plesser@nmbu.no wrote: Hi Benjamin,
It is curious that MPI is not found on your system. Could you double check that you have installed open-mpi via Homebrew? What does
which mpicxx
return on your system?
Best, Hans Ekkehard
On 26 Oct 2019, at 17:04, Benjamin Staude benjamin.staude@gmail.com wrote:
Hi Hans-Ekkehard,
Thanks for the support, that solved one issue. But now, I get the same for OPEN_MPI:
-- Could NOT find MPI_C (missing: MPI_C_WORKS) -- Could NOT find MPI_CXX (missing: MPI_CXX_WORKS) -- Could NOT find MPI (missing: MPI_C_FOUND MPI_CXX_FOUND)
(I need open_mpi because I need the MUSIC interface). This is my cmake-call:
cmake \ -DCMAKE_C_COMPILER=gcc-9 \ -DCMAKE_CXX_COMPILER=g++-9 \ -Dwith-music=ON \ -Dwith-mpi=ON \ -Dwith-openmp=ON \ -DCMAKE_INSTALL_PREFIX=/Users/staude/.pyenv/versions/3.7.2/ \ /Users/staude/Projekte/RainerDunkel/SensoryNetwork/Skripte/snn/NEST/nest-simulator-2.18.0
And the output:
-- The CXX compiler identification is GNU 9.2.0 -- The C compiler identification is GNU 9.2.0 -- Checking whether CXX compiler has -isysroot -- Checking whether CXX compiler has -isysroot - yes -- Checking whether CXX compiler supports OSX deployment target flag -- Checking whether CXX compiler supports OSX deployment target flag - yes -- Check for working CXX compiler: /usr/local/bin/g++-9 -- Check for working CXX compiler: /usr/local/bin/g++-9 -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done -- Checking whether C compiler has -isysroot -- Checking whether C compiler has -isysroot - yes -- Checking whether C compiler supports OSX deployment target flag -- Checking whether C compiler supports OSX deployment target flag - yes -- Check for working C compiler: /usr/local/bin/gcc-9 -- Check for working C compiler: /usr/local/bin/gcc-9 -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done -- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE) -- Looking for include file inttypes.h -- Looking for include file inttypes.h - found -- Looking for include file mach-o/dyld.h -- Looking for include file mach-o/dyld.h - found -- Looking for include file mach/mach.h -- Looking for include file mach/mach.h - found -- Looking for include file memory.h -- Looking for include file memory.h - found -- Looking for include file stdint.h -- Looking for include file stdint.h - found -- Looking for include file sys/types.h -- Looking for include file sys/types.h - found -- Looking for C++ include istream -- Looking for C++ include istream - not found -- Looking for C++ include ostream -- Looking for C++ include ostream - not found -- Looking for C++ include sstream -- Looking for C++ include sstream - not found -- Looking for stddef.h -- Looking for stddef.h - found -- Check size of long long -- Check size of long long - done -- Check size of u_int16_t -- Check size of u_int16_t - done -- Check size of uint16_t -- Check size of uint16_t - done -- Check size of u_int64_t -- Check size of u_int64_t - done -- Check size of uint64_t -- Check size of uint64_t - done -- Looking for NAN -- Looking for NAN - found -- Looking for isnan -- Looking for isnan - found -- Looking for M_E -- Looking for M_E - found -- Looking for M_PI -- Looking for M_PI - found -- Looking for expm1 -- Looking for expm1 - found -- Host triple: x86_64-apple-darwin -- Target triple: x86_64-apple-darwin -- Found LTDL: /usr/local/lib/libltdl.dylib (found version "2.4.6") -- Found Readline: /usr/lib/libreadline.dylib (found version "4.2") -- Found PkgConfig: /usr/local/bin/pkg-config (found version "0.29.2") -- Found GSL: /usr/local/Cellar/gsl/2.6/include (found version "2.6") -- Found PythonInterp: /Users/staude/.pyenv/shims/python (found version "3.7.2") -- Found PythonLibs: /Users/staude/.pyenv/versions/3.7.2/lib/libpython3.7m.a (found suitable exact version "3.7.2") -- Found Cython: /Users/staude/.pyenv/shims/cython (found version "0.29.13") -- Found OpenMP_C: -fopenmp -- Found OpenMP_CXX: -fopenmp -- Found OpenMP: TRUE -- Could NOT find MPI_C (missing: MPI_C_WORKS) -- Could NOT find MPI_CXX (missing: MPI_CXX_WORKS) -- Could NOT find MPI (missing: MPI_C_FOUND MPI_CXX_FOUND) CMake Error at cmake/ProcessOptions.cmake:528 (message): MUSIC requires -Dwith-mpi=ON. Call Stack (most recent call first): CMakeLists.txt:167 (nest_process_with_music)
And the cmake-version: cmake --version cmake version 3.15.3
On 26. Oct 2019, at 14:11, Hans Ekkehard Plesser hans.ekkehard.plesser@nmbu.no wrote:
Hi Benjamin,
The CMake output shows that you are using the AppleClang compiler, which does not support OpenMP. If you want to use that compiler, you need to turn off OpenMP with -Dwith-openmp=OFF.
If you want NEST with OpenMP on the Mac, I would recommend using the GCC compiler installed via Homebrew, see
https://nest-simulator.readthedocs.io/en/latest/installation/mac_install.htm...
for instructions.
Best, Hans Ekkehard
On 25 Oct 2019, at 18:12, Benjamin Staude benjamin.staude@gmail.com wrote:
Hi there,
I am trying to install nest under OSX Mojave and run into the following cmake-error (see below for a full trace):
-- Could NOT find OpenMP_C (missing: OpenMP_C_FLAGS OpenMP_C_LIB_NAMES) -- Could NOT find OpenMP_CXX (missing: OpenMP_CXX_FLAGS OpenMP_CXX_LIB_NAMES) -- Could NOT find OpenMP (missing: OpenMP_C_FOUND OpenMP_CXX_FOUND)
I already tried various tricks (http://stechschulte.net/2016/03/20/openmp-osx-cmake.html, https://stackoverflow.com/questions/48825416/missing-openmp-c-flags-openmp-c...), but had no success. Does anybody have experience?
Thanks in advance, Benjamin
#########################################################
-- The CXX compiler identification is AppleClang 9.0.0.9000038 -- The C compiler identification is AppleClang 9.0.0.9000038 -- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done -- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done -- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE) -- Looking for include file inttypes.h -- Looking for include file inttypes.h - found -- Looking for include file mach-o/dyld.h -- Looking for include file mach-o/dyld.h - found -- Looking for include file mach/mach.h -- Looking for include file mach/mach.h - found -- Looking for include file memory.h -- Looking for include file memory.h - found -- Looking for include file stdint.h -- Looking for include file stdint.h - found -- Looking for include file sys/types.h -- Looking for include file sys/types.h - found -- Looking for C++ include istream -- Looking for C++ include istream - found -- Looking for C++ include ostream -- Looking for C++ include ostream - found -- Looking for C++ include sstream -- Looking for C++ include sstream - found -- Looking for stddef.h -- Looking for stddef.h - found -- Check size of long long -- Check size of long long - done -- Check size of u_int16_t -- Check size of u_int16_t - done -- Check size of uint16_t -- Check size of uint16_t - done -- Check size of u_int64_t -- Check size of u_int64_t - done -- Check size of uint64_t -- Check size of uint64_t - done -- Looking for NAN -- Looking for NAN - found -- Looking for isnan -- Looking for isnan - found -- Looking for M_E -- Looking for M_E - found -- Looking for M_PI -- Looking for M_PI - found -- Looking for expm1 -- Looking for expm1 - found -- Host triple: x86_64-apple-darwin -- Target triple: x86_64-apple-darwin -- Found LTDL: /usr/local/lib/libltdl.dylib (found version "2.4.6") -- Found Readline: /usr/lib/libreadline.dylib (found version "4.2") -- Found PkgConfig: /usr/local/bin/pkg-config (found version "0.29.2") -- Found GSL: /usr/local/Cellar/gsl/2.6/include (found version "2.6") -- Found PythonInterp: /Users/staude/.pyenv/shims/python (found version "3.7.2") -- Found PythonLibs: /Users/staude/.pyenv/versions/3.7.2/lib/libpython3.7m.a (found suitable exact version "3.7.2") -- Found Cython: /Users/staude/.pyenv/shims/cython (found version "0.29.13") -- Could NOT find OpenMP_C (missing: OpenMP_C_FLAGS OpenMP_C_LIB_NAMES) -- Could NOT find OpenMP_CXX (missing: OpenMP_CXX_FLAGS OpenMP_CXX_LIB_NAMES) -- Could NOT find OpenMP (missing: OpenMP_C_FOUND OpenMP_CXX_FOUND) CMake Error at cmake/ProcessOptions.cmake:452 (message): CMake can not find OpenMP. Call Stack (most recent call first): CMakeLists.txt:164 (nest_process_with_openmp)
NEST Users mailing list -- users@nest-simulator.org To unsubscribe send an email to users-leave@nest-simulator.org
--
Prof. Dr. Hans Ekkehard Plesser Head, Data Science Section
Faculty of Science and Technology Norwegian University of Life Sciences PO Box 5003, 1432 Aas, Norway
Phone +47 6723 1560 Email hans.ekkehard.plesser@nmbu.no Home http://arken.nmbu.no/~plesser
Dr. Benjamin Staude | Paul-Lincke-Ufer 7 | 10999 Berlin | benjamin.staude@gmail.com
--
Prof. Dr. Hans Ekkehard Plesser Head, Data Science Section
Faculty of Science and Technology Norwegian University of Life Sciences PO Box 5003, 1432 Aas, Norway
Phone +47 6723 1560 Email hans.ekkehard.plesser@nmbu.no Home http://arken.nmbu.no/~plesser
NEST Users mailing list -- users@nest-simulator.org To unsubscribe send an email to users-leave@nest-simulator.org
-- -- -- Dr. Benjamin Staude | Paul-Lincke-Ufer 7 | 10999 Berlin | benjamin.staude@gmail.com
Hi Benjamin,
This is curious. My setup seems very similar (macOS 10.14.6 with the newest XCode and Clang 10, OpenMPI 4.0.1_2 from Homebrew) and it works out of the box. It is a long time since I had trouble compiling NEST with MPI on my system.
Could you run CMake again in an empty directory with additional flags
--trace --debug-output and see if that generates some indication on what might go wrong with MPI detection?
In my case, I end up with the following configuration
Use MPI : Yes (MPI: /usr/local/bin/mpicxx) FLAGS : Includes : /usr/local/Cellar/open-mpi/4.0.1_2/include Link Flags : -L/usr/local/Cellar/libevent/2.1.11_1/lib Libraries : /usr/local/Cellar/open-mpi/4.0.1_2/lib/libmpi.dylib
You could also try with
-Dwith-mpi=/usr/local/Cellar/open-mpi/4.0.2/
but I haven't tested that.
Best, Hans Ekkehard
On 28 Oct 2019, at 08:58, Benjamin Staude <benjamin.staude@gmail.commailto:benjamin.staude@gmail.com> wrote:
Hi Hans-Ekkehard,
Here is some info on my mpicxx installations (after a brew uninstall and brew install):
staude:bld staude$ which mpicxx /usr/local/bin/mpicxx staude:bld staude$ ls -la /usr/local/bin/mpicxx lrwxr-xr-x 1 staude admin 35 Oct 28 08:42 /usr/local/bin/mpicxx -> ../Cellar/open-mpi/4.0.2/bin/mpicxx staude:bld staude$ mpicxx --version Apple LLVM version 9.0.0 (clang-900.0.38) Target: x86_64-apple-darwin18.7.0 Thread model: posix InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
Does that help?
Best, Benjamin
On 27. Oct 2019, at 22:01, Hans Ekkehard Plesser <hans.ekkehard.plesser@nmbu.nomailto:hans.ekkehard.plesser@nmbu.no> wrote: Hi Benjamin,
It is curious that MPI is not found on your system. Could you double check that you have installed open-mpi via Homebrew? What does
which mpicxx
return on your system?
Best, Hans Ekkehard
On 26 Oct 2019, at 17:04, Benjamin Staude <benjamin.staude@gmail.commailto:benjamin.staude@gmail.com> wrote:
Hi Hans-Ekkehard,
Thanks for the support, that solved one issue. But now, I get the same for OPEN_MPI:
-- Could NOT find MPI_C (missing: MPI_C_WORKS) -- Could NOT find MPI_CXX (missing: MPI_CXX_WORKS) -- Could NOT find MPI (missing: MPI_C_FOUND MPI_CXX_FOUND)
(I need open_mpi because I need the MUSIC interface). This is my cmake-call:
cmake \ -DCMAKE_C_COMPILER=gcc-9 \ -DCMAKE_CXX_COMPILER=g++-9 \ -Dwith-music=ON \ -Dwith-mpi=ON \ -Dwith-openmp=ON \ -DCMAKE_INSTALL_PREFIX=/Users/staude/.pyenv/versions/3.7.2/ \ /Users/staude/Projekte/RainerDunkel/SensoryNetwork/Skripte/snn/NEST/nest-simulator-2.18.0
And the output:
-- The CXX compiler identification is GNU 9.2.0 -- The C compiler identification is GNU 9.2.0 -- Checking whether CXX compiler has -isysroot -- Checking whether CXX compiler has -isysroot - yes -- Checking whether CXX compiler supports OSX deployment target flag -- Checking whether CXX compiler supports OSX deployment target flag - yes -- Check for working CXX compiler: /usr/local/bin/g++-9 -- Check for working CXX compiler: /usr/local/bin/g++-9 -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done -- Checking whether C compiler has -isysroot -- Checking whether C compiler has -isysroot - yes -- Checking whether C compiler supports OSX deployment target flag -- Checking whether C compiler supports OSX deployment target flag - yes -- Check for working C compiler: /usr/local/bin/gcc-9 -- Check for working C compiler: /usr/local/bin/gcc-9 -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done -- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE) -- Looking for include file inttypes.h -- Looking for include file inttypes.h - found -- Looking for include file mach-o/dyld.h -- Looking for include file mach-o/dyld.h - found -- Looking for include file mach/mach.h -- Looking for include file mach/mach.h - found -- Looking for include file memory.h -- Looking for include file memory.h - found -- Looking for include file stdint.h -- Looking for include file stdint.h - found -- Looking for include file sys/types.h -- Looking for include file sys/types.h - found -- Looking for C++ include istream -- Looking for C++ include istream - not found -- Looking for C++ include ostream -- Looking for C++ include ostream - not found -- Looking for C++ include sstream -- Looking for C++ include sstream - not found -- Looking for stddef.h -- Looking for stddef.h - found -- Check size of long long -- Check size of long long - done -- Check size of u_int16_t -- Check size of u_int16_t - done -- Check size of uint16_t -- Check size of uint16_t - done -- Check size of u_int64_t -- Check size of u_int64_t - done -- Check size of uint64_t -- Check size of uint64_t - done -- Looking for NAN -- Looking for NAN - found -- Looking for isnan -- Looking for isnan - found -- Looking for M_E -- Looking for M_E - found -- Looking for M_PI -- Looking for M_PI - found -- Looking for expm1 -- Looking for expm1 - found -- Host triple: x86_64-apple-darwin -- Target triple: x86_64-apple-darwin -- Found LTDL: /usr/local/lib/libltdl.dylib (found version "2.4.6") -- Found Readline: /usr/lib/libreadline.dylib (found version "4.2") -- Found PkgConfig: /usr/local/bin/pkg-config (found version "0.29.2") -- Found GSL: /usr/local/Cellar/gsl/2.6/include (found version "2.6") -- Found PythonInterp: /Users/staude/.pyenv/shims/python (found version "3.7.2") -- Found PythonLibs: /Users/staude/.pyenv/versions/3.7.2/lib/libpython3.7m.a (found suitable exact version "3.7.2") -- Found Cython: /Users/staude/.pyenv/shims/cython (found version "0.29.13") -- Found OpenMP_C: -fopenmp -- Found OpenMP_CXX: -fopenmp -- Found OpenMP: TRUE -- Could NOT find MPI_C (missing: MPI_C_WORKS) -- Could NOT find MPI_CXX (missing: MPI_CXX_WORKS) -- Could NOT find MPI (missing: MPI_C_FOUND MPI_CXX_FOUND) CMake Error at cmake/ProcessOptions.cmake:528 (message): MUSIC requires -Dwith-mpi=ON. Call Stack (most recent call first): CMakeLists.txt:167 (nest_process_with_music)
And the cmake-version: cmake --version cmake version 3.15.3
On 26. Oct 2019, at 14:11, Hans Ekkehard Plesser <hans.ekkehard.plesser@nmbu.nomailto:hans.ekkehard.plesser@nmbu.no> wrote:
Hi Benjamin,
The CMake output shows that you are using the AppleClang compiler, which does not support OpenMP. If you want to use that compiler, you need to turn off OpenMP with -Dwith-openmp=OFF.
If you want NEST with OpenMP on the Mac, I would recommend using the GCC compiler installed via Homebrew, see
https://nest-simulator.readthedocs.io/en/latest/installation/mac_install.htm...
for instructions.
Best, Hans Ekkehard
On 25 Oct 2019, at 18:12, Benjamin Staude benjamin.staude@gmail.com wrote:
Hi there,
I am trying to install nest under OSX Mojave and run into the following cmake-error (see below for a full trace):
-- Could NOT find OpenMP_C (missing: OpenMP_C_FLAGS OpenMP_C_LIB_NAMES) -- Could NOT find OpenMP_CXX (missing: OpenMP_CXX_FLAGS OpenMP_CXX_LIB_NAMES) -- Could NOT find OpenMP (missing: OpenMP_C_FOUND OpenMP_CXX_FOUND)
I already tried various tricks (http://stechschulte.net/2016/03/20/openmp-osx-cmake.html, https://stackoverflow.com/questions/48825416/missing-openmp-c-flags-openmp-c...), but had no success. Does anybody have experience?
Thanks in advance, Benjamin
#########################################################
-- The CXX compiler identification is AppleClang 9.0.0.9000038 -- The C compiler identification is AppleClang 9.0.0.9000038 -- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done -- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done -- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE) -- Looking for include file inttypes.h -- Looking for include file inttypes.h - found -- Looking for include file mach-o/dyld.h -- Looking for include file mach-o/dyld.h - found -- Looking for include file mach/mach.h -- Looking for include file mach/mach.h - found -- Looking for include file memory.h -- Looking for include file memory.h - found -- Looking for include file stdint.h -- Looking for include file stdint.h - found -- Looking for include file sys/types.h -- Looking for include file sys/types.h - found -- Looking for C++ include istream -- Looking for C++ include istream - found -- Looking for C++ include ostream -- Looking for C++ include ostream - found -- Looking for C++ include sstream -- Looking for C++ include sstream - found -- Looking for stddef.h -- Looking for stddef.h - found -- Check size of long long -- Check size of long long - done -- Check size of u_int16_t -- Check size of u_int16_t - done -- Check size of uint16_t -- Check size of uint16_t - done -- Check size of u_int64_t -- Check size of u_int64_t - done -- Check size of uint64_t -- Check size of uint64_t - done -- Looking for NAN -- Looking for NAN - found -- Looking for isnan -- Looking for isnan - found -- Looking for M_E -- Looking for M_E - found -- Looking for M_PI -- Looking for M_PI - found -- Looking for expm1 -- Looking for expm1 - found -- Host triple: x86_64-apple-darwin -- Target triple: x86_64-apple-darwin -- Found LTDL: /usr/local/lib/libltdl.dylib (found version "2.4.6") -- Found Readline: /usr/lib/libreadline.dylib (found version "4.2") -- Found PkgConfig: /usr/local/bin/pkg-config (found version "0.29.2") -- Found GSL: /usr/local/Cellar/gsl/2.6/include (found version "2.6") -- Found PythonInterp: /Users/staude/.pyenv/shims/python (found version "3.7.2") -- Found PythonLibs: /Users/staude/.pyenv/versions/3.7.2/lib/libpython3.7m.a (found suitable exact version "3.7.2") -- Found Cython: /Users/staude/.pyenv/shims/cython (found version "0.29.13") -- Could NOT find OpenMP_C (missing: OpenMP_C_FLAGS OpenMP_C_LIB_NAMES) -- Could NOT find OpenMP_CXX (missing: OpenMP_CXX_FLAGS OpenMP_CXX_LIB_NAMES) -- Could NOT find OpenMP (missing: OpenMP_C_FOUND OpenMP_CXX_FOUND) CMake Error at cmake/ProcessOptions.cmake:452 (message): CMake can not find OpenMP. Call Stack (most recent call first): CMakeLists.txt:164 (nest_process_with_openmp)
_______________________________________________ NEST Users mailing list -- users@nest-simulator.org To unsubscribe send an email to users-leave@nest-simulator.org
--
Prof. Dr. Hans Ekkehard Plesser Head, Data Science Section
Faculty of Science and Technology Norwegian University of Life Sciences PO Box 5003, 1432 Aas, Norway
Phone +47 6723 1560 Email hans.ekkehard.plesser@nmbu.no Home http://arken.nmbu.no/~plesser
-- -- -- Dr. Benjamin Staude | Paul-Lincke-Ufer 7 | 10999 Berlin | benjamin.staude@gmail.commailto:benjamin.staude@gmail.com
--
Prof. Dr. Hans Ekkehard Plesser Head, Data Science Section
Faculty of Science and Technology Norwegian University of Life Sciences PO Box 5003, 1432 Aas, Norway
Phone +47 6723 1560 Email hans.ekkehard.plesser@nmbu.nomailto:hans.ekkehard.plesser@nmbu.no Home http://arken.nmbu.no/~plesser
_______________________________________________ NEST Users mailing list -- users@nest-simulator.org To unsubscribe send an email to users-leave@nest-simulator.org
-- -- -- Dr. Benjamin Staude | Paul-Lincke-Ufer 7 | 10999 Berlin | benjamin.staude@gmail.commailto:benjamin.staude@gmail.com
--
Prof. Dr. Hans Ekkehard Plesser Head, Data Science Section
Faculty of Science and Technology Norwegian University of Life Sciences PO Box 5003, 1432 Aas, Norway
Phone +47 6723 1560 Email hans.ekkehard.plesser@nmbu.no Home http://arken.nmbu.no/~plesser
Hi!
Just a minimal update: I now tested with open-mpi 4.0.2 from Homebrew and that also worked well.
Best, Hans Ekkehard
On 28 Oct 2019, at 13:19, Hans Ekkehard Plesser <hans.ekkehard.plesser@nmbu.nomailto:hans.ekkehard.plesser@nmbu.no> wrote:
Hi Benjamin,
This is curious. My setup seems very similar (macOS 10.14.6 with the newest XCode and Clang 10, OpenMPI 4.0.1_2 from Homebrew) and it works out of the box. It is a long time since I had trouble compiling NEST with MPI on my system.
Could you run CMake again in an empty directory with additional flags
--trace --debug-output and see if that generates some indication on what might go wrong with MPI detection?
In my case, I end up with the following configuration
Use MPI : Yes (MPI: /usr/local/bin/mpicxx) FLAGS : Includes : /usr/local/Cellar/open-mpi/4.0.1_2/include Link Flags : -L/usr/local/Cellar/libevent/2.1.11_1/lib Libraries : /usr/local/Cellar/open-mpi/4.0.1_2/lib/libmpi.dylib
You could also try with
-Dwith-mpi=/usr/local/Cellar/open-mpi/4.0.2/
but I haven't tested that.
Best, Hans Ekkehard
On 28 Oct 2019, at 08:58, Benjamin Staude <benjamin.staude@gmail.commailto:benjamin.staude@gmail.com> wrote:
Hi Hans-Ekkehard,
Here is some info on my mpicxx installations (after a brew uninstall and brew install):
staude:bld staude$ which mpicxx /usr/local/bin/mpicxx staude:bld staude$ ls -la /usr/local/bin/mpicxx lrwxr-xr-x 1 staude admin 35 Oct 28 08:42 /usr/local/bin/mpicxx -> ../Cellar/open-mpi/4.0.2/bin/mpicxx staude:bld staude$ mpicxx --version Apple LLVM version 9.0.0 (clang-900.0.38) Target: x86_64-apple-darwin18.7.0 Thread model: posix InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
Does that help?
Best, Benjamin
On 27. Oct 2019, at 22:01, Hans Ekkehard Plesser <hans.ekkehard.plesser@nmbu.nomailto:hans.ekkehard.plesser@nmbu.no> wrote: Hi Benjamin,
It is curious that MPI is not found on your system. Could you double check that you have installed open-mpi via Homebrew? What does
which mpicxx
return on your system?
Best, Hans Ekkehard
On 26 Oct 2019, at 17:04, Benjamin Staude <benjamin.staude@gmail.commailto:benjamin.staude@gmail.com> wrote:
Hi Hans-Ekkehard,
Thanks for the support, that solved one issue. But now, I get the same for OPEN_MPI:
-- Could NOT find MPI_C (missing: MPI_C_WORKS) -- Could NOT find MPI_CXX (missing: MPI_CXX_WORKS) -- Could NOT find MPI (missing: MPI_C_FOUND MPI_CXX_FOUND)
(I need open_mpi because I need the MUSIC interface). This is my cmake-call:
cmake \ -DCMAKE_C_COMPILER=gcc-9 \ -DCMAKE_CXX_COMPILER=g++-9 \ -Dwith-music=ON \ -Dwith-mpi=ON \ -Dwith-openmp=ON \ -DCMAKE_INSTALL_PREFIX=/Users/staude/.pyenv/versions/3.7.2/ \ /Users/staude/Projekte/RainerDunkel/SensoryNetwork/Skripte/snn/NEST/nest-simulator-2.18.0
And the output:
-- The CXX compiler identification is GNU 9.2.0 -- The C compiler identification is GNU 9.2.0 -- Checking whether CXX compiler has -isysroot -- Checking whether CXX compiler has -isysroot - yes -- Checking whether CXX compiler supports OSX deployment target flag -- Checking whether CXX compiler supports OSX deployment target flag - yes -- Check for working CXX compiler: /usr/local/bin/g++-9 -- Check for working CXX compiler: /usr/local/bin/g++-9 -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done -- Checking whether C compiler has -isysroot -- Checking whether C compiler has -isysroot - yes -- Checking whether C compiler supports OSX deployment target flag -- Checking whether C compiler supports OSX deployment target flag - yes -- Check for working C compiler: /usr/local/bin/gcc-9 -- Check for working C compiler: /usr/local/bin/gcc-9 -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done -- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE) -- Looking for include file inttypes.h -- Looking for include file inttypes.h - found -- Looking for include file mach-o/dyld.h -- Looking for include file mach-o/dyld.h - found -- Looking for include file mach/mach.h -- Looking for include file mach/mach.h - found -- Looking for include file memory.h -- Looking for include file memory.h - found -- Looking for include file stdint.h -- Looking for include file stdint.h - found -- Looking for include file sys/types.h -- Looking for include file sys/types.h - found -- Looking for C++ include istream -- Looking for C++ include istream - not found -- Looking for C++ include ostream -- Looking for C++ include ostream - not found -- Looking for C++ include sstream -- Looking for C++ include sstream - not found -- Looking for stddef.h -- Looking for stddef.h - found -- Check size of long long -- Check size of long long - done -- Check size of u_int16_t -- Check size of u_int16_t - done -- Check size of uint16_t -- Check size of uint16_t - done -- Check size of u_int64_t -- Check size of u_int64_t - done -- Check size of uint64_t -- Check size of uint64_t - done -- Looking for NAN -- Looking for NAN - found -- Looking for isnan -- Looking for isnan - found -- Looking for M_E -- Looking for M_E - found -- Looking for M_PI -- Looking for M_PI - found -- Looking for expm1 -- Looking for expm1 - found -- Host triple: x86_64-apple-darwin -- Target triple: x86_64-apple-darwin -- Found LTDL: /usr/local/lib/libltdl.dylib (found version "2.4.6") -- Found Readline: /usr/lib/libreadline.dylib (found version "4.2") -- Found PkgConfig: /usr/local/bin/pkg-config (found version "0.29.2") -- Found GSL: /usr/local/Cellar/gsl/2.6/include (found version "2.6") -- Found PythonInterp: /Users/staude/.pyenv/shims/python (found version "3.7.2") -- Found PythonLibs: /Users/staude/.pyenv/versions/3.7.2/lib/libpython3.7m.a (found suitable exact version "3.7.2") -- Found Cython: /Users/staude/.pyenv/shims/cython (found version "0.29.13") -- Found OpenMP_C: -fopenmp -- Found OpenMP_CXX: -fopenmp -- Found OpenMP: TRUE -- Could NOT find MPI_C (missing: MPI_C_WORKS) -- Could NOT find MPI_CXX (missing: MPI_CXX_WORKS) -- Could NOT find MPI (missing: MPI_C_FOUND MPI_CXX_FOUND) CMake Error at cmake/ProcessOptions.cmake:528 (message): MUSIC requires -Dwith-mpi=ON. Call Stack (most recent call first): CMakeLists.txt:167 (nest_process_with_music)
And the cmake-version: cmake --version cmake version 3.15.3
On 26. Oct 2019, at 14:11, Hans Ekkehard Plesser <hans.ekkehard.plesser@nmbu.nomailto:hans.ekkehard.plesser@nmbu.no> wrote:
Hi Benjamin,
The CMake output shows that you are using the AppleClang compiler, which does not support OpenMP. If you want to use that compiler, you need to turn off OpenMP with -Dwith-openmp=OFF.
If you want NEST with OpenMP on the Mac, I would recommend using the GCC compiler installed via Homebrew, see
https://nest-simulator.readthedocs.io/en/latest/installation/mac_install.htm...
for instructions.
Best, Hans Ekkehard
On 25 Oct 2019, at 18:12, Benjamin Staude <benjamin.staude@gmail.commailto:benjamin.staude@gmail.com> wrote:
Hi there,
I am trying to install nest under OSX Mojave and run into the following cmake-error (see below for a full trace):
-- Could NOT find OpenMP_C (missing: OpenMP_C_FLAGS OpenMP_C_LIB_NAMES) -- Could NOT find OpenMP_CXX (missing: OpenMP_CXX_FLAGS OpenMP_CXX_LIB_NAMES) -- Could NOT find OpenMP (missing: OpenMP_C_FOUND OpenMP_CXX_FOUND)
I already tried various tricks (http://stechschulte.net/2016/03/20/openmp-osx-cmake.html, https://stackoverflow.com/questions/48825416/missing-openmp-c-flags-openmp-c...), but had no success. Does anybody have experience?
Thanks in advance, Benjamin
#########################################################
-- The CXX compiler identification is AppleClang 9.0.0.9000038 -- The C compiler identification is AppleClang 9.0.0.9000038 -- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done -- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done -- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE) -- Looking for include file inttypes.h -- Looking for include file inttypes.h - found -- Looking for include file mach-o/dyld.h -- Looking for include file mach-o/dyld.h - found -- Looking for include file mach/mach.h -- Looking for include file mach/mach.h - found -- Looking for include file memory.h -- Looking for include file memory.h - found -- Looking for include file stdint.h -- Looking for include file stdint.h - found -- Looking for include file sys/types.h -- Looking for include file sys/types.h - found -- Looking for C++ include istream -- Looking for C++ include istream - found -- Looking for C++ include ostream -- Looking for C++ include ostream - found -- Looking for C++ include sstream -- Looking for C++ include sstream - found -- Looking for stddef.h -- Looking for stddef.h - found -- Check size of long long -- Check size of long long - done -- Check size of u_int16_t -- Check size of u_int16_t - done -- Check size of uint16_t -- Check size of uint16_t - done -- Check size of u_int64_t -- Check size of u_int64_t - done -- Check size of uint64_t -- Check size of uint64_t - done -- Looking for NAN -- Looking for NAN - found -- Looking for isnan -- Looking for isnan - found -- Looking for M_E -- Looking for M_E - found -- Looking for M_PI -- Looking for M_PI - found -- Looking for expm1 -- Looking for expm1 - found -- Host triple: x86_64-apple-darwin -- Target triple: x86_64-apple-darwin -- Found LTDL: /usr/local/lib/libltdl.dylib (found version "2.4.6") -- Found Readline: /usr/lib/libreadline.dylib (found version "4.2") -- Found PkgConfig: /usr/local/bin/pkg-config (found version "0.29.2") -- Found GSL: /usr/local/Cellar/gsl/2.6/include (found version "2.6") -- Found PythonInterp: /Users/staude/.pyenv/shims/python (found version "3.7.2") -- Found PythonLibs: /Users/staude/.pyenv/versions/3.7.2/lib/libpython3.7m.a (found suitable exact version "3.7.2") -- Found Cython: /Users/staude/.pyenv/shims/cython (found version "0.29.13") -- Could NOT find OpenMP_C (missing: OpenMP_C_FLAGS OpenMP_C_LIB_NAMES) -- Could NOT find OpenMP_CXX (missing: OpenMP_CXX_FLAGS OpenMP_CXX_LIB_NAMES) -- Could NOT find OpenMP (missing: OpenMP_C_FOUND OpenMP_CXX_FOUND) CMake Error at cmake/ProcessOptions.cmake:452 (message): CMake can not find OpenMP. Call Stack (most recent call first): CMakeLists.txt:164 (nest_process_with_openmp)
_______________________________________________ NEST Users mailing list -- users@nest-simulator.orgmailto:users@nest-simulator.org To unsubscribe send an email to users-leave@nest-simulator.orgmailto:users-leave@nest-simulator.org
--
Prof. Dr. Hans Ekkehard Plesser Head, Data Science Section
Faculty of Science and Technology Norwegian University of Life Sciences PO Box 5003, 1432 Aas, Norway
Phone +47 6723 1560 Email hans.ekkehard.plesser@nmbu.nomailto:hans.ekkehard.plesser@nmbu.no Home http://arken.nmbu.no/~plesser
-- -- -- Dr. Benjamin Staude | Paul-Lincke-Ufer 7 | 10999 Berlin | benjamin.staude@gmail.commailto:benjamin.staude@gmail.com
--
Prof. Dr. Hans Ekkehard Plesser Head, Data Science Section
Faculty of Science and Technology Norwegian University of Life Sciences PO Box 5003, 1432 Aas, Norway
Phone +47 6723 1560 Email hans.ekkehard.plesser@nmbu.nomailto:hans.ekkehard.plesser@nmbu.no Home http://arken.nmbu.no/~plesser
_______________________________________________ NEST Users mailing list -- users@nest-simulator.orgmailto:users@nest-simulator.org To unsubscribe send an email to users-leave@nest-simulator.orgmailto:users-leave@nest-simulator.org
-- -- -- Dr. Benjamin Staude | Paul-Lincke-Ufer 7 | 10999 Berlin | benjamin.staude@gmail.commailto:benjamin.staude@gmail.com
--
Prof. Dr. Hans Ekkehard Plesser Head, Data Science Section
Faculty of Science and Technology Norwegian University of Life Sciences PO Box 5003, 1432 Aas, Norway
Phone +47 6723 1560 Email hans.ekkehard.plesser@nmbu.no Home http://arken.nmbu.no/~plesser
_______________________________________________ NEST Users mailing list -- users@nest-simulator.orgmailto:users@nest-simulator.org To unsubscribe send an email to users-leave@nest-simulator.orgmailto:users-leave@nest-simulator.org
--
Prof. Dr. Hans Ekkehard Plesser Head, Data Science Section
Faculty of Science and Technology Norwegian University of Life Sciences PO Box 5003, 1432 Aas, Norway
Phone +47 6723 1560 Email hans.ekkehard.plesser@nmbu.no Home http://arken.nmbu.no/~plesser
Hi Hans-Ekkehard,
While trying to manually install open-mpi I learned that my Xcode installation was out-of-date. After updating to Xcode 11, cmake went through and everything:
-------------------------------------------------------------------------------- NEST Configuration Summary --------------------------------------------------------------------------------
Build type : Target System : Darwin Cross Compiling : FALSE C compiler : /usr/local/bin/gcc-9 C compiler flags : -O2 -Wall -fopenmp -fdiagnostics-color=auto C++ compiler : /usr/local/bin/g++-9 C++ compiler flags : -std=c++11 -O2 -Wall -fopenmp -fdiagnostics-color=auto Build dynamic : ON
Built-in modules : models;precise;topology User modules : None Python bindings : Yes (Python 3.7.2: /Users/staude/.pyenv/shims/python) Includes : /Users/staude/.pyenv/versions/3.7.2/include/python3.7m Libraries : /Users/staude/.pyenv/versions/3.7.2/lib/libpython3.7m.a
Cython bindings : Yes (Cython 0.29.13: /Users/staude/.pyenv/shims/cython) Use threading : Yes (OpenMP: -fopenmp) Use GSL : Yes (GSL 2.6) Includes : /usr/local/Cellar/gsl/2.6/include Libraries : /usr/local/Cellar/gsl/2.6/lib/libgsl.dylib;/usr/local/Cellar/gsl/2.6/lib/libgslcblas.dylib
Use Readline : Yes (GNU Readline 4.2) Includes : /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk/usr/include Libraries : /usr/lib/libreadline.dylib;/usr/lib/libncurses.dylib
Use libltdl : Yes (LTDL 2.4.6) Includes : /usr/local/include Libraries : /usr/local/lib/libltdl.dylib
Use doxygen : No Use MPI : Yes (MPI: /usr/local/bin/mpicxx) FLAGS : Includes : /usr/local/Cellar/open-mpi/4.0.2/include Link Flags : -L/usr/local/Cellar/libevent/2.1.11_1/lib Libraries : /usr/local/Cellar/open-mpi/4.0.2/lib/libmpi.dylib
Use MUSIC : Yes (MUSIC 1.1.15) Includes : /usr/local/include Libraries : /usr/local/lib/libmusic.dylib
Use libneurosim : No Use Boost : No
———————————————————————————————————————
However, now make generates the error mentioned in https://nest-simulator.readthedocs.io/en/latest/installation/mac_install.htm...: https://nest-simulator.readthedocs.io/en/latest/installation/mac_install.html#troubleshooting:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/stdlib.h:128, from /usr/local/Cellar/gcc/9.2.0_1/include/c++/9.2.0/cstdlib:75, from /usr/local/Cellar/gcc/9.2.0_1/include/c++/9.2.0/bits/stl_algo.h:59, from /usr/local/Cellar/gcc/9.2.0_1/include/c++/9.2.0/algorithm:62, from /Users/staude/Projekte/RainerDunkel/SensoryNetwork/Skripte/snn/NEST/nest-simulator-2.18.0/sli/dictutils.h:27, from /Users/staude/Projekte/RainerDunkel/SensoryNetwork/Skripte/snn/NEST/nest-simulator-2.18.0/sli/dictutils.cc:23: /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/malloc/_malloc.h:52:74: error: expected initializer before '__OSX_AVAILABLE_STARTING' 52 | int posix_memalign(void **__memptr, size_t __alignment, size_t __size) __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_3_0);
Sadly, the suggested command sudo xcode-select -s /Library/Developer/CommandLineTools/ does not help, same error.
Is there any experience what I could try?
Best, Benjamin
On 28. Oct 2019, at 13:19, Hans Ekkehard Plesser hans.ekkehard.plesser@nmbu.no wrote:
Hi Benjamin,
This is curious. My setup seems very similar (macOS 10.14.6 with the newest XCode and Clang 10, OpenMPI 4.0.1_2 from Homebrew) and it works out of the box. It is a long time since I had trouble compiling NEST with MPI on my system.
Could you run CMake again in an empty directory with additional flags
--trace --debug-output and see if that generates some indication on what might go wrong with MPI detection?
In my case, I end up with the following configuration
Use MPI : Yes (MPI: /usr/local/bin/mpicxx) FLAGS : Includes : /usr/local/Cellar/open-mpi/4.0.1_2/include Link Flags : -L/usr/local/Cellar/libevent/2.1.11_1/lib Libraries : /usr/local/Cellar/open-mpi/4.0.1_2/lib/libmpi.dylib
You could also try with
-Dwith-mpi=/usr/local/Cellar/open-mpi/4.0.2/
but I haven't tested that.
Best, Hans Ekkehard
On 28 Oct 2019, at 08:58, Benjamin Staude <benjamin.staude@gmail.com mailto:benjamin.staude@gmail.com> wrote:
Hi Hans-Ekkehard,
Here is some info on my mpicxx installations (after a brew uninstall and brew install):
staude:bld staude$ which mpicxx /usr/local/bin/mpicxx staude:bld staude$ ls -la /usr/local/bin/mpicxx lrwxr-xr-x 1 staude admin 35 Oct 28 08:42 /usr/local/bin/mpicxx -> ../Cellar/open-mpi/4.0.2/bin/mpicxx staude:bld staude$ mpicxx --version Apple LLVM version 9.0.0 (clang-900.0.38) Target: x86_64-apple-darwin18.7.0 Thread model: posix InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
Does that help?
Best, Benjamin
On 27. Oct 2019, at 22:01, Hans Ekkehard Plesser <hans.ekkehard.plesser@nmbu.no mailto:hans.ekkehard.plesser@nmbu.no> wrote: Hi Benjamin,
It is curious that MPI is not found on your system. Could you double check that you have installed open-mpi via Homebrew? What does
which mpicxx
return on your system?
Best, Hans Ekkehard
On 26 Oct 2019, at 17:04, Benjamin Staude <benjamin.staude@gmail.com mailto:benjamin.staude@gmail.com> wrote:
Hi Hans-Ekkehard,
Thanks for the support, that solved one issue. But now, I get the same for OPEN_MPI:
-- Could NOT find MPI_C (missing: MPI_C_WORKS) -- Could NOT find MPI_CXX (missing: MPI_CXX_WORKS) -- Could NOT find MPI (missing: MPI_C_FOUND MPI_CXX_FOUND)
(I need open_mpi because I need the MUSIC interface). This is my cmake-call:
cmake \ -DCMAKE_C_COMPILER=gcc-9 \ -DCMAKE_CXX_COMPILER=g++-9 \ -Dwith-music=ON \ -Dwith-mpi=ON \ -Dwith-openmp=ON \ -DCMAKE_INSTALL_PREFIX=/Users/staude/.pyenv/versions/3.7.2/ \ /Users/staude/Projekte/RainerDunkel/SensoryNetwork/Skripte/snn/NEST/nest-simulator-2.18.0
And the output:
-- The CXX compiler identification is GNU 9.2.0 -- The C compiler identification is GNU 9.2.0 -- Checking whether CXX compiler has -isysroot -- Checking whether CXX compiler has -isysroot - yes -- Checking whether CXX compiler supports OSX deployment target flag -- Checking whether CXX compiler supports OSX deployment target flag - yes -- Check for working CXX compiler: /usr/local/bin/g++-9 -- Check for working CXX compiler: /usr/local/bin/g++-9 -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done -- Checking whether C compiler has -isysroot -- Checking whether C compiler has -isysroot - yes -- Checking whether C compiler supports OSX deployment target flag -- Checking whether C compiler supports OSX deployment target flag - yes -- Check for working C compiler: /usr/local/bin/gcc-9 -- Check for working C compiler: /usr/local/bin/gcc-9 -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done -- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE) -- Looking for include file inttypes.h -- Looking for include file inttypes.h - found -- Looking for include file mach-o/dyld.h -- Looking for include file mach-o/dyld.h - found -- Looking for include file mach/mach.h -- Looking for include file mach/mach.h - found -- Looking for include file memory.h -- Looking for include file memory.h - found -- Looking for include file stdint.h -- Looking for include file stdint.h - found -- Looking for include file sys/types.h -- Looking for include file sys/types.h - found -- Looking for C++ include istream -- Looking for C++ include istream - not found -- Looking for C++ include ostream -- Looking for C++ include ostream - not found -- Looking for C++ include sstream -- Looking for C++ include sstream - not found -- Looking for stddef.h -- Looking for stddef.h - found -- Check size of long long -- Check size of long long - done -- Check size of u_int16_t -- Check size of u_int16_t - done -- Check size of uint16_t -- Check size of uint16_t - done -- Check size of u_int64_t -- Check size of u_int64_t - done -- Check size of uint64_t -- Check size of uint64_t - done -- Looking for NAN -- Looking for NAN - found -- Looking for isnan -- Looking for isnan - found -- Looking for M_E -- Looking for M_E - found -- Looking for M_PI -- Looking for M_PI - found -- Looking for expm1 -- Looking for expm1 - found -- Host triple: x86_64-apple-darwin -- Target triple: x86_64-apple-darwin -- Found LTDL: /usr/local/lib/libltdl.dylib (found version "2.4.6") -- Found Readline: /usr/lib/libreadline.dylib (found version "4.2") -- Found PkgConfig: /usr/local/bin/pkg-config (found version "0.29.2") -- Found GSL: /usr/local/Cellar/gsl/2.6/include (found version "2.6") -- Found PythonInterp: /Users/staude/.pyenv/shims/python (found version "3.7.2") -- Found PythonLibs: /Users/staude/.pyenv/versions/3.7.2/lib/libpython3.7m.a (found suitable exact version "3.7.2") -- Found Cython: /Users/staude/.pyenv/shims/cython (found version "0.29.13") -- Found OpenMP_C: -fopenmp -- Found OpenMP_CXX: -fopenmp -- Found OpenMP: TRUE -- Could NOT find MPI_C (missing: MPI_C_WORKS) -- Could NOT find MPI_CXX (missing: MPI_CXX_WORKS) -- Could NOT find MPI (missing: MPI_C_FOUND MPI_CXX_FOUND) CMake Error at cmake/ProcessOptions.cmake:528 (message): MUSIC requires -Dwith-mpi=ON. Call Stack (most recent call first): CMakeLists.txt:167 (nest_process_with_music)
And the cmake-version: cmake --version cmake version 3.15.3
On 26. Oct 2019, at 14:11, Hans Ekkehard Plesser <hans.ekkehard.plesser@nmbu.no mailto:hans.ekkehard.plesser@nmbu.no> wrote:
Hi Benjamin,
The CMake output shows that you are using the AppleClang compiler, which does not support OpenMP. If you want to use that compiler, you need to turn off OpenMP with -Dwith-openmp=OFF.
If you want NEST with OpenMP on the Mac, I would recommend using the GCC compiler installed via Homebrew, see
https://nest-simulator.readthedocs.io/en/latest/installation/mac_install.htm... https://nest-simulator.readthedocs.io/en/latest/installation/mac_install.html
for instructions.
Best, Hans Ekkehard
On 25 Oct 2019, at 18:12, Benjamin Staude benjamin.staude@gmail.com wrote:
Hi there,
I am trying to install nest under OSX Mojave and run into the following cmake-error (see below for a full trace):
-- Could NOT find OpenMP_C (missing: OpenMP_C_FLAGS OpenMP_C_LIB_NAMES) -- Could NOT find OpenMP_CXX (missing: OpenMP_CXX_FLAGS OpenMP_CXX_LIB_NAMES) -- Could NOT find OpenMP (missing: OpenMP_C_FOUND OpenMP_CXX_FOUND)
I already tried various tricks (http://stechschulte.net/2016/03/20/openmp-osx-cmake.html, https://stackoverflow.com/questions/48825416/missing-openmp-c-flags-openmp-c...), but had no success. Does anybody have experience?
Thanks in advance, Benjamin
#########################################################
-- The CXX compiler identification is AppleClang 9.0.0.9000038 -- The C compiler identification is AppleClang 9.0.0.9000038 -- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done -- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done -- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE) -- Looking for include file inttypes.h -- Looking for include file inttypes.h - found -- Looking for include file mach-o/dyld.h -- Looking for include file mach-o/dyld.h - found -- Looking for include file mach/mach.h -- Looking for include file mach/mach.h - found -- Looking for include file memory.h -- Looking for include file memory.h - found -- Looking for include file stdint.h -- Looking for include file stdint.h - found -- Looking for include file sys/types.h -- Looking for include file sys/types.h - found -- Looking for C++ include istream -- Looking for C++ include istream - found -- Looking for C++ include ostream -- Looking for C++ include ostream - found -- Looking for C++ include sstream -- Looking for C++ include sstream - found -- Looking for stddef.h -- Looking for stddef.h - found -- Check size of long long -- Check size of long long - done -- Check size of u_int16_t -- Check size of u_int16_t - done -- Check size of uint16_t -- Check size of uint16_t - done -- Check size of u_int64_t -- Check size of u_int64_t - done -- Check size of uint64_t -- Check size of uint64_t - done -- Looking for NAN -- Looking for NAN - found -- Looking for isnan -- Looking for isnan - found -- Looking for M_E -- Looking for M_E - found -- Looking for M_PI -- Looking for M_PI - found -- Looking for expm1 -- Looking for expm1 - found -- Host triple: x86_64-apple-darwin -- Target triple: x86_64-apple-darwin -- Found LTDL: /usr/local/lib/libltdl.dylib (found version "2.4.6") -- Found Readline: /usr/lib/libreadline.dylib (found version "4.2") -- Found PkgConfig: /usr/local/bin/pkg-config (found version "0.29.2") -- Found GSL: /usr/local/Cellar/gsl/2.6/include (found version "2.6") -- Found PythonInterp: /Users/staude/.pyenv/shims/python (found version "3.7.2") -- Found PythonLibs: /Users/staude/.pyenv/versions/3.7.2/lib/libpython3.7m.a (found suitable exact version "3.7.2") -- Found Cython: /Users/staude/.pyenv/shims/cython (found version "0.29.13") -- Could NOT find OpenMP_C (missing: OpenMP_C_FLAGS OpenMP_C_LIB_NAMES) -- Could NOT find OpenMP_CXX (missing: OpenMP_CXX_FLAGS OpenMP_CXX_LIB_NAMES) -- Could NOT find OpenMP (missing: OpenMP_C_FOUND OpenMP_CXX_FOUND) CMake Error at cmake/ProcessOptions.cmake:452 (message): CMake can not find OpenMP. Call Stack (most recent call first): CMakeLists.txt:164 (nest_process_with_openmp)
NEST Users mailing list -- users@nest-simulator.org To unsubscribe send an email to users-leave@nest-simulator.org
--
Prof. Dr. Hans Ekkehard Plesser Head, Data Science Section
Faculty of Science and Technology Norwegian University of Life Sciences PO Box 5003, 1432 Aas, Norway
Phone +47 6723 1560 Email hans.ekkehard.plesser@nmbu.no Home http://arken.nmbu.no/~plesser
Dr. Benjamin Staude | Paul-Lincke-Ufer 7 | 10999 Berlin | benjamin.staude@gmail.com mailto:benjamin.staude@gmail.com
--
Prof. Dr. Hans Ekkehard Plesser Head, Data Science Section
Faculty of Science and Technology Norwegian University of Life Sciences PO Box 5003, 1432 Aas, Norway
Phone +47 6723 1560 Email hans.ekkehard.plesser@nmbu.no mailto:hans.ekkehard.plesser@nmbu.no Home http://arken.nmbu.no/~plesser http://arken.nmbu.no/~plesser
NEST Users mailing list -- users@nest-simulator.org To unsubscribe send an email to users-leave@nest-simulator.org
Dr. Benjamin Staude | Paul-Lincke-Ufer 7 | 10999 Berlin | benjamin.staude@gmail.com mailto:benjamin.staude@gmail.com
--
Prof. Dr. Hans Ekkehard Plesser Head, Data Science Section
Faculty of Science and Technology Norwegian University of Life Sciences PO Box 5003, 1432 Aas, Norway
Phone +47 6723 1560 Email hans.ekkehard.plesser@nmbu.no Home http://arken.nmbu.no/~plesser http://arken.nmbu.no/~plesser
-- -- -- Dr. Benjamin Staude | Paul-Lincke-Ufer 7 | 10999 Berlin | benjamin.staude@gmail.com
Hi Benjamin,
This seems to be a deeper problem on OSX, see
https://stackoverflow.com/questions/58144137/gcc-missing-headers-on-macos10-...
Interestingly, it works for me on Mojave.
The quick-fix would be to build NEST with MPI but without OpenMP using the Clang compiler.
With llvm and libomp from brew installed, the following also works for me
cmake -E env LDFLAGS="-L/usr/local/opt/llvm/lib -Wl,-rpath,/usr/local/opt/llvm/lib" \ cmake -DCMAKE_INSTALL_PREFIX:PATH=$PWD/install \ -DCMAKE_C_COMPILER=/usr/local/opt/llvm/bin/clang \ -DCMAKE_CXX_COMPILER=/usr/local/opt/llvm/bin/clang++ \ -Dwith-mpi=ON ../src
This builds NEST using the Clang compiler from llvm with OpenMP and MPI support. The only problem is that some Python tests crash, complaining about two different OpenMP libraries imported (libomp and libiomp5, where the latter comes from Anaconda's MKL library). One can (with a certain risk of problems) set
KMP_DUPLICATE_LIB_OK=TRUE
which will make macOS ignore the duplicate libraries. Tests then pass, but behavior may be unpredictable.
Alternatively, one can create a Conda environment without MKL as describe on StackOverflow (https://stackoverflow.com/questions/38345519/how-to-install-scipy-without-mk...). I haven't tested this yet.
I also tried compiling with the Apple Clang, configuring as
cmake -DCMAKE_INSTALL_PREFIX:PATH=$PWD/install \ -DOpenMP_CXX_FLAGS="-Xpreprocessor -fopenmp" -DOpenMP_CXX_LIB_NAMES="omp" \ -DOpenMP_C_FLAGS="-Xpreprocessor -fopenmp" -DOpenMP_C_LIB_NAMES="omp" \ -DOpenMP_omp_LIBRARY=/usr/local/lib/libomp.dylib \ -Dwith-mpi=ON ../src
based on https://iscinumpy.gitlab.io/post/omp-on-high-sierra/, but this failed when linking, since the library information probably is not used properly by our CMake script.
Best, Hans Ekkehard
--
Prof. Dr. Hans Ekkehard Plesser Head, Data Science Section
Faculty of Science and Technology Norwegian University of Life Sciences PO Box 5003, 1432 Aas, Norway
Phone +47 6723 1560 Email hans.ekkehard.plesser@nmbu.no Home http://arken.nmbu.no/~plesser
H Hans, Hi Benjamin,
Some months back, one of our colleague had some issues and we fixed it with the following command:
cmake -DCMAKE_INSTALL_PREFIX:PATH=/../NEST/bld -DCMAKE_C_COMPILER=gcc -DOpenMP_C_FLAGS="-fopenmp -I/usr/local/opt/libomp/include" -DOpenMP_C_LIB_NAMES="omp" -DOpenMP_omp_LIBRARY=/usr/local/opt/libomp -DCMAKE_CXX_COMPILER=g++ -DOpenMP_CXX_FLAGS="-fopenmp -I/usr/local/opt/libomp/include" -DOpenMP_CXX_LIB_NAMES="omp" /../NEST/nest-simulator
Best regards,
Lekshmi
On 29.10.19 16:04, Hans Ekkehard Plesser wrote:
Hi Benjamin,
This seems to be a deeper problem on OSX, see
https://stackoverflow.com/questions/58144137/gcc-missing-headers-on-macos10-...
Interestingly, it works for me on Mojave.
The quick-fix would be to build NEST with MPI but without OpenMP using the Clang compiler.
With llvm and libomp from brew installed, the following also works for me
cmake -E env LDFLAGS="-L/usr/local/opt/llvm/lib -Wl,-rpath,/usr/local/opt/llvm/lib" \ cmake -DCMAKE_INSTALL_PREFIX:PATH=$PWD/install \ -DCMAKE_C_COMPILER=/usr/local/opt/llvm/bin/clang \ -DCMAKE_CXX_COMPILER=/usr/local/opt/llvm/bin/clang++ \ -Dwith-mpi=ON ../src
This builds NEST using the Clang compiler from llvm with OpenMP and MPI support. The only problem is that some Python tests crash, complaining about two different OpenMP libraries imported (libomp and libiomp5, where the latter comes from Anaconda's MKL library). One can (with a certain risk of problems) set
KMP_DUPLICATE_LIB_OK=TRUE
which will make macOS ignore the duplicate libraries. Tests then pass, but behavior may be unpredictable.
Alternatively, one can create a Conda environment without MKL as describe on StackOverflow (https://stackoverflow.com/questions/38345519/how-to-install-scipy-without-mk...). I haven't tested this yet.
I also tried compiling with the Apple Clang, configuring as
cmake -DCMAKE_INSTALL_PREFIX:PATH=$PWD/install \ -DOpenMP_CXX_FLAGS="-Xpreprocessor -fopenmp" -DOpenMP_CXX_LIB_NAMES="omp" \ -DOpenMP_C_FLAGS="-Xpreprocessor -fopenmp" -DOpenMP_C_LIB_NAMES="omp" \ -DOpenMP_omp_LIBRARY=/usr/local/lib/libomp.dylib \ -Dwith-mpi=ON ../src
based on https://iscinumpy.gitlab.io/post/omp-on-high-sierra/, but this failed when linking, since the library information probably is not used properly by our CMake script.
Best, Hans Ekkehard
--
Prof. Dr. Hans Ekkehard Plesser Head, Data Science Section
Faculty of Science and Technology Norwegian Universityof Life Sciences PO Box 5003, 1432Aas, Norway
Phone +47 6723 1560 Emailhans.ekkehard.plesser@nmbu.no Homehttp://arken.nmbu.no/~plesser
NEST Users mailing list -- users@nest-simulator.org To unsubscribe send an email to users-leave@nest-simulator.org
Hi Hans Ekkehard, hi Lakshmi,
Thank you for your suggestions, unfortunately none have worked for me so far. Here’s what happened:
----------------------------------------------------------- HANS EKKEHARDS FIRST OPTION
cmake -E env LDFLAGS="-L/usr/local/opt/llvm/lib -Wl,-rpath,/usr/local/opt/llvm/lib" \ cmake -DCMAKE_INSTALL_PREFIX:PATH=$PWD/install \ -DCMAKE_C_COMPILER=/usr/local/opt/llvm/bin/clang \ -DCMAKE_CXX_COMPILER=/usr/local/opt/llvm/bin/clang++ \ -Dwith-mpi=ON ../src
Here, the cmake command went through, but make failed during
Scanning dependencies of target nestkernel
with lots of errors like:
In file included from /Users/staude/Projekte/RainerDunkel/SensoryNetwork/Skripte/snn/NEST/nest-simulator-2.18.0/nestkernel/clopath_archiving_node.cpp:26: In file included from /Users/staude/Projekte/RainerDunkel/SensoryNetwork/Skripte/snn/NEST/nest-simulator-2.18.0/nestkernel/kernel_manager.h:27: In file included from /Users/staude/Projekte/RainerDunkel/SensoryNetwork/Skripte/snn/NEST/nest-simulator-2.18.0/nestkernel/connection_manager.h:42: In file included from /Users/staude/Projekte/RainerDunkel/SensoryNetwork/Skripte/snn/NEST/nest-simulator-2.18.0/nestkernel/source_table.h:35: /Users/staude/Projekte/RainerDunkel/SensoryNetwork/Skripte/snn/NEST/nest-simulator-2.18.0/nestkernel/mpi_manager.h:313:3: error: use of undeclared identifier 'MPI' MPI::Intracomm comm;
Also, I am not sure if that really built without OpenMP. At least cmake outputs
-- Found Cython: /Users/staude/.pyenv/shims/cython (found version "0.29.13") -- Found OpenMP_C: -fopenmp=libomp (found version "3.1") -- Found OpenMP_CXX: -fopenmp=libomp (found version "3.1") -- Found OpenMP: TRUE (found version "3.1")
and the Nest Configuration Summary says:
C compiler : /usr/local/opt/llvm/bin/clang C compiler flags : -O2 -Wall -fopenmp=libomp C++ compiler : /usr/local/opt/llvm/bin/clang++ C++ compiler flags : -std=c++11 -O2 -Wall -fopenmp=libomp
----------------------------------------------------------- HANS EKKEHARDS SECOND OPTION
Haven’t tried yet, but also don’t know really what I would have to do in practice...
----------------------------------------------------------- HANS EKKEHARDS THIRD OPTION
cmake -DCMAKE_INSTALL_PREFIX:PATH=$PWD/install \ -DOpenMP_CXX_FLAGS="-Xpreprocessor -fopenmp" -DOpenMP_CXX_LIB_NAMES="omp" \ -DOpenMP_C_FLAGS="-Xpreprocessor -fopenmp" -DOpenMP_C_LIB_NAMES="omp" \ -DOpenMP_omp_LIBRARY=/usr/local/lib/libomp.dylib \ -Dwith-mpi=ON ../src
That indeed failed during linking:
[ 24%] Linking CXX shared library libsli.dylib Undefined symbols for architecture x86_64: "___kmpc_critical", referenced from: SLIInterpreter::message(int, char const*, char const*, char const*) const in interpret.cc.o "___kmpc_end_critical", referenced from: SLIInterpreter::message(int, char const*, char const*, char const*) const in interpret.cc.o "___kmpc_global_thread_num", referenced from: SLIInterpreter::message(int, char const*, char const*, char const*) const in interpret.cc.o "_omp_in_parallel", referenced from: Name::insert(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in name.cc.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) make[2]: *** [sli/libsli.dylib] Error 1 make[1]: *** [sli/CMakeFiles/sli_lib.dir/all] Error 2 make: *** [all] Error 2
----------------------------------------------------------- LEKSHMIS OPTION
When running your command, cmake worked fine, but make results in
clang: error: unsupported option '-fopenmp’
Also, I need the -Dwith-mpi=ON -Dwith-music=ON flags. If I set them, I get the familiar
-- Could NOT find MPI_C (missing: MPI_C_WORKS)
during cmake. This I can fix by using the g++-9 compiler. But then I get lots of errors during make. They start during Scanning dependencies of target nestkernel and look like this:
In file included from /Users/staude/Projekte/RainerDunkel/SensoryNetwork/Skripte/snn/NEST/nest-simulator-2.18.0/nestkernel/source_table.h:35, from /Users/staude/Projekte/RainerDunkel/SensoryNetwork/Skripte/snn/NEST/nest-simulator-2.18.0/nestkernel/connection_manager.h:42, from /Users/staude/Projekte/RainerDunkel/SensoryNetwork/Skripte/snn/NEST/nest-simulator-2.18.0/nestkernel/kernel_manager.h:27, from /Users/staude/Projekte/RainerDunkel/SensoryNetwork/Skripte/snn/NEST/nest-simulator-2.18.0/nestkernel/common_synapse_properties.cpp:27: /Users/staude/Projekte/RainerDunkel/SensoryNetwork/Skripte/snn/NEST/nest-simulator-2.18.0/nestkernel/mpi_manager.h:313:3: error: 'MPI' does not name a type; did you mean 'M_PI'? 313 | MPI::Intracomm comm; | ^~~ | M_PI
On 29. Oct 2019, at 16:36, Rajalekshmi Deepu r.deepu@fz-juelich.de wrote:
H Hans, Hi Benjamin,
Some months back, one of our colleague had some issues and we fixed it with the following command:
cmake -DCMAKE_INSTALL_PREFIX:PATH=/../NEST/bld -DCMAKE_C_COMPILER=gcc -DOpenMP_C_FLAGS="-fopenmp -I/usr/local/opt/libomp/include" -DOpenMP_C_LIB_NAMES="omp" -DOpenMP_omp_LIBRARY=/usr/local/opt/libomp -DCMAKE_CXX_COMPILER=g++ -DOpenMP_CXX_FLAGS="-fopenmp -I/usr/local/opt/libomp/include" -DOpenMP_CXX_LIB_NAMES="omp" /../NEST/nest-simulator
Best regards,
Lekshmi
On 29.10.19 16:04, Hans Ekkehard Plesser wrote:
Hi Benjamin,
This seems to be a deeper problem on OSX, see
https://stackoverflow.com/questions/58144137/gcc-missing-headers-on-macos10-... https://stackoverflow.com/questions/58144137/gcc-missing-headers-on-macos10-15-with-xcode11
Interestingly, it works for me on Mojave.
The quick-fix would be to build NEST with MPI but without OpenMP using the Clang compiler.
With llvm and libomp from brew installed, the following also works for me
cmake -E env LDFLAGS="-L/usr/local/opt/llvm/lib -Wl,-rpath,/usr/local/opt/llvm/lib" \ cmake -DCMAKE_INSTALL_PREFIX:PATH=$PWD/install \ -DCMAKE_C_COMPILER=/usr/local/opt/llvm/bin/clang \ -DCMAKE_CXX_COMPILER=/usr/local/opt/llvm/bin/clang++ \ -Dwith-mpi=ON ../src
This builds NEST using the Clang compiler from llvm with OpenMP and MPI support. The only problem is that some Python tests crash, complaining about two different OpenMP libraries imported (libomp and libiomp5, where the latter comes from Anaconda's MKL library). One can (with a certain risk of problems) set
KMP_DUPLICATE_LIB_OK=TRUE
which will make macOS ignore the duplicate libraries. Tests then pass, but behavior may be unpredictable.
Alternatively, one can create a Conda environment without MKL as describe on StackOverflow (https://stackoverflow.com/questions/38345519/how-to-install-scipy-without-mk... https://stackoverflow.com/questions/38345519/how-to-install-scipy-without-mkl). I haven't tested this yet.
I also tried compiling with the Apple Clang, configuring as
cmake -DCMAKE_INSTALL_PREFIX:PATH=$PWD/install \ -DOpenMP_CXX_FLAGS="-Xpreprocessor -fopenmp" -DOpenMP_CXX_LIB_NAMES="omp" \ -DOpenMP_C_FLAGS="-Xpreprocessor -fopenmp" -DOpenMP_C_LIB_NAMES="omp" \ -DOpenMP_omp_LIBRARY=/usr/local/lib/libomp.dylib \ -Dwith-mpi=ON ../src
based on https://iscinumpy.gitlab.io/post/omp-on-high-sierra/ https://iscinumpy.gitlab.io/post/omp-on-high-sierra/, but this failed when linking, since the library information probably is not used properly by our CMake script.
Best, Hans Ekkehard
--
Prof. Dr. Hans Ekkehard Plesser Head, Data Science Section
Faculty of Science and Technology Norwegian University of Life Sciences PO Box 5003, 1432 Aas, Norway
Phone +47 6723 1560 Email hans.ekkehard.plesser@nmbu.no Home http://arken.nmbu.no/~plesser http://arken.nmbu.no/~plesser
NEST Users mailing list -- users@nest-simulator.org mailto:users@nest-simulator.org To unsubscribe send an email to users-leave@nest-simulator.org mailto:users-leave@nest-simulator.org
-- Rajalekshmi Deepu Simulation Lab Neuroscience Division HPC in Neuroscience Phone: +49 2461 61 8945 Jülich Supercomputing Centre (JSC) E-mail: r.deepu@fz-juelich.de mailto:r.deepu@fz-juelich.de Institute for Advanced Simulation http://www.fz-juelich.de/ias/jsc http://www.fz-juelich.de/ias/jsc Forschungszentrum Jülich GmbH
-- -- -- Dr. Benjamin Staude | Paul-Lincke-Ufer 7 | 10999 Berlin | benjamin.staude@gmail.com
Hi Benjamin,
Have you made any progress in the meantime? Unfortunately, I have only very limited time to explore this at the moment.
Best, Hans Ekkehard
On 29 Oct 2019, at 20:28, Benjamin Staude <benjamin.staude@gmail.commailto:benjamin.staude@gmail.com> wrote:
Hi Hans Ekkehard, hi Lakshmi,
Thank you for your suggestions, unfortunately none have worked for me so far. Here’s what happened:
----------------------------------------------------------- HANS EKKEHARDS FIRST OPTION
cmake -E env LDFLAGS="-L/usr/local/opt/llvm/lib -Wl,-rpath,/usr/local/opt/llvm/lib" \ cmake -DCMAKE_INSTALL_PREFIX:PATH=$PWD/install \ -DCMAKE_C_COMPILER=/usr/local/opt/llvm/bin/clang \ -DCMAKE_CXX_COMPILER=/usr/local/opt/llvm/bin/clang++ \ -Dwith-mpi=ON ../src
Here, the cmake command went through, but make failed during
Scanning dependencies of target nestkernel
with lots of errors like:
In file included from /Users/staude/Projekte/RainerDunkel/SensoryNetwork/Skripte/snn/NEST/nest-simulator-2.18.0/nestkernel/clopath_archiving_node.cpp:26: In file included from /Users/staude/Projekte/RainerDunkel/SensoryNetwork/Skripte/snn/NEST/nest-simulator-2.18.0/nestkernel/kernel_manager.h:27: In file included from /Users/staude/Projekte/RainerDunkel/SensoryNetwork/Skripte/snn/NEST/nest-simulator-2.18.0/nestkernel/connection_manager.h:42: In file included from /Users/staude/Projekte/RainerDunkel/SensoryNetwork/Skripte/snn/NEST/nest-simulator-2.18.0/nestkernel/source_table.h:35: /Users/staude/Projekte/RainerDunkel/SensoryNetwork/Skripte/snn/NEST/nest-simulator-2.18.0/nestkernel/mpi_manager.h:313:3: error: use of undeclared identifier 'MPI' MPI::Intracomm comm;
Also, I am not sure if that really built without OpenMP. At least cmake outputs
-- Found Cython: /Users/staude/.pyenv/shims/cython (found version "0.29.13") -- Found OpenMP_C: -fopenmp=libomp (found version "3.1") -- Found OpenMP_CXX: -fopenmp=libomp (found version "3.1") -- Found OpenMP: TRUE (found version "3.1")
and the Nest Configuration Summary says:
C compiler : /usr/local/opt/llvm/bin/clang C compiler flags : -O2 -Wall -fopenmp=libomp C++ compiler : /usr/local/opt/llvm/bin/clang++ C++ compiler flags : -std=c++11 -O2 -Wall -fopenmp=libomp
----------------------------------------------------------- HANS EKKEHARDS SECOND OPTION
Haven’t tried yet, but also don’t know really what I would have to do in practice...
----------------------------------------------------------- HANS EKKEHARDS THIRD OPTION
cmake -DCMAKE_INSTALL_PREFIX:PATH=$PWD/install \ -DOpenMP_CXX_FLAGS="-Xpreprocessor -fopenmp" -DOpenMP_CXX_LIB_NAMES="omp" \ -DOpenMP_C_FLAGS="-Xpreprocessor -fopenmp" -DOpenMP_C_LIB_NAMES="omp" \ -DOpenMP_omp_LIBRARY=/usr/local/lib/libomp.dylib \ -Dwith-mpi=ON ../src
That indeed failed during linking:
[ 24%] Linking CXX shared library libsli.dylib Undefined symbols for architecture x86_64: "___kmpc_critical", referenced from: SLIInterpreter::message(int, char const*, char const*, char const*) const in interpret.cc.o "___kmpc_end_critical", referenced from: SLIInterpreter::message(int, char const*, char const*, char const*) const in interpret.cc.o "___kmpc_global_thread_num", referenced from: SLIInterpreter::message(int, char const*, char const*, char const*) const in interpret.cc.o "_omp_in_parallel", referenced from: Name::insert(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in name.cc.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) make[2]: *** [sli/libsli.dylib] Error 1 make[1]: *** [sli/CMakeFiles/sli_lib.dir/all] Error 2 make: *** [all] Error 2
----------------------------------------------------------- LEKSHMIS OPTION
When running your command, cmake worked fine, but make results in
clang: error: unsupported option '-fopenmp’
Also, I need the -Dwith-mpi=ON -Dwith-music=ON flags. If I set them, I get the familiar
-- Could NOT find MPI_C (missing: MPI_C_WORKS)
during cmake. This I can fix by using the g++-9 compiler. But then I get lots of errors during make. They start during Scanning dependencies of target nestkernel and look like this:
In file included from /Users/staude/Projekte/RainerDunkel/SensoryNetwork/Skripte/snn/NEST/nest-simulator-2.18.0/nestkernel/source_table.h:35, from /Users/staude/Projekte/RainerDunkel/SensoryNetwork/Skripte/snn/NEST/nest-simulator-2.18.0/nestkernel/connection_manager.h:42, from /Users/staude/Projekte/RainerDunkel/SensoryNetwork/Skripte/snn/NEST/nest-simulator-2.18.0/nestkernel/kernel_manager.h:27, from /Users/staude/Projekte/RainerDunkel/SensoryNetwork/Skripte/snn/NEST/nest-simulator-2.18.0/nestkernel/common_synapse_properties.cpp:27: /Users/staude/Projekte/RainerDunkel/SensoryNetwork/Skripte/snn/NEST/nest-simulator-2.18.0/nestkernel/mpi_manager.h:313:3: error: 'MPI' does not name a type; did you mean 'M_PI'? 313 | MPI::Intracomm comm; | ^~~ | M_PI
On 29. Oct 2019, at 16:36, Rajalekshmi Deepu <r.deepu@fz-juelich.demailto:r.deepu@fz-juelich.de> wrote:
H Hans, Hi Benjamin,
Some months back, one of our colleague had some issues and we fixed it with the following command:
cmake -DCMAKE_INSTALL_PREFIX:PATH=/../NEST/bld -DCMAKE_C_COMPILER=gcc -DOpenMP_C_FLAGS="-fopenmp -I/usr/local/opt/libomp/include" -DOpenMP_C_LIB_NAMES="omp" -DOpenMP_omp_LIBRARY=/usr/local/opt/libomp -DCMAKE_CXX_COMPILER=g++ -DOpenMP_CXX_FLAGS="-fopenmp -I/usr/local/opt/libomp/include" -DOpenMP_CXX_LIB_NAMES="omp" /../NEST/nest-simulator
Best regards,
Lekshmi
On 29.10.19 16:04, Hans Ekkehard Plesser wrote:
Hi Benjamin,
This seems to be a deeper problem on OSX, see
https://stackoverflow.com/questions/58144137/gcc-missing-headers-on-macos10-...
Interestingly, it works for me on Mojave.
The quick-fix would be to build NEST with MPI but without OpenMP using the Clang compiler.
With llvm and libomp from brew installed, the following also works for me
cmake -E env LDFLAGS="-L/usr/local/opt/llvm/lib -Wl,-rpath,/usr/local/opt/llvm/lib" \ cmake -DCMAKE_INSTALL_PREFIX:PATH=$PWD/install \ -DCMAKE_C_COMPILER=/usr/local/opt/llvm/bin/clang \ -DCMAKE_CXX_COMPILER=/usr/local/opt/llvm/bin/clang++ \ -Dwith-mpi=ON ../src
This builds NEST using the Clang compiler from llvm with OpenMP and MPI support. The only problem is that some Python tests crash, complaining about two different OpenMP libraries imported (libomp and libiomp5, where the latter comes from Anaconda's MKL library). One can (with a certain risk of problems) set
KMP_DUPLICATE_LIB_OK=TRUE
which will make macOS ignore the duplicate libraries. Tests then pass, but behavior may be unpredictable.
Alternatively, one can create a Conda environment without MKL as describe on StackOverflow (https://stackoverflow.com/questions/38345519/how-to-install-scipy-without-mk...). I haven't tested this yet.
I also tried compiling with the Apple Clang, configuring as
cmake -DCMAKE_INSTALL_PREFIX:PATH=$PWD/install \ -DOpenMP_CXX_FLAGS="-Xpreprocessor -fopenmp" -DOpenMP_CXX_LIB_NAMES="omp" \ -DOpenMP_C_FLAGS="-Xpreprocessor -fopenmp" -DOpenMP_C_LIB_NAMES="omp" \ -DOpenMP_omp_LIBRARY=/usr/local/lib/libomp.dylib \ -Dwith-mpi=ON ../src
based on https://iscinumpy.gitlab.io/post/omp-on-high-sierra/, but this failed when linking, since the library information probably is not used properly by our CMake script.
Best, Hans Ekkehard
--
Prof. Dr. Hans Ekkehard Plesser Head, Data Science Section
Faculty of Science and Technology Norwegian University of Life Sciences PO Box 5003, 1432 Aas, Norway
Phone +47 6723 1560 Email hans.ekkehard.plesser@nmbu.no Home http://arken.nmbu.no/~plesser
_______________________________________________ NEST Users mailing list -- users@nest-simulator.orgmailto:users@nest-simulator.org To unsubscribe send an email to users-leave@nest-simulator.orgmailto:users-leave@nest-simulator.org
-- Rajalekshmi Deepu Simulation Lab Neuroscience Division HPC in Neuroscience Phone: +49 2461 61 8945 Jülich Supercomputing Centre (JSC) E-mail: r.deepu@fz-juelich.demailto:r.deepu@fz-juelich.de Institute for Advanced Simulation http://www.fz-juelich.de/ias/jsc Forschungszentrum Jülich GmbH
-- -- -- Dr. Benjamin Staude | Paul-Lincke-Ufer 7 | 10999 Berlin | benjamin.staude@gmail.commailto:benjamin.staude@gmail.com
--
Prof. Dr. Hans Ekkehard Plesser Head, Data Science Section
Faculty of Science and Technology Norwegian University of Life Sciences PO Box 5003, 1432 Aas, Norway
Phone +47 6723 1560 Email hans.ekkehard.plesser@nmbu.no Home http://arken.nmbu.no/~plesser
Hi Hans-Ekkehard,
Thanks for asking, I have not continued to install nest on osx. I guess I will simply use a vm with Ubuntu for the simulation.
But since you’re asking: are you aware of an example of music in python that uses a chain-like architecture? I only found one in c++.
Best, Benjamin
Am 06.11.2019 um 16:54 schrieb Hans Ekkehard Plesser hans.ekkehard.plesser@nmbu.no:
Hi Benjamin,
Have you made any progress in the meantime? Unfortunately, I have only very limited time to explore this at the moment.
Best, Hans Ekkehard
On 29 Oct 2019, at 20:28, Benjamin Staude benjamin.staude@gmail.com wrote:
Hi Hans Ekkehard, hi Lakshmi,
Thank you for your suggestions, unfortunately none have worked for me so far. Here’s what happened:
HANS EKKEHARDS FIRST OPTION
cmake -E env LDFLAGS="-L/usr/local/opt/llvm/lib -Wl,-rpath,/usr/local/opt/llvm/lib" \ cmake -DCMAKE_INSTALL_PREFIX:PATH=$PWD/install \ -DCMAKE_C_COMPILER=/usr/local/opt/llvm/bin/clang \ -DCMAKE_CXX_COMPILER=/usr/local/opt/llvm/bin/clang++ \ -Dwith-mpi=ON ../src
Here, the cmake command went through, but make failed during
Scanning dependencies of target nestkernel
with lots of errors like:
In file included from /Users/staude/Projekte/RainerDunkel/SensoryNetwork/Skripte/snn/NEST/nest-simulator-2.18.0/nestkernel/clopath_archiving_node.cpp:26: In file included from /Users/staude/Projekte/RainerDunkel/SensoryNetwork/Skripte/snn/NEST/nest-simulator-2.18.0/nestkernel/kernel_manager.h:27: In file included from /Users/staude/Projekte/RainerDunkel/SensoryNetwork/Skripte/snn/NEST/nest-simulator-2.18.0/nestkernel/connection_manager.h:42: In file included from /Users/staude/Projekte/RainerDunkel/SensoryNetwork/Skripte/snn/NEST/nest-simulator-2.18.0/nestkernel/source_table.h:35: /Users/staude/Projekte/RainerDunkel/SensoryNetwork/Skripte/snn/NEST/nest-simulator-2.18.0/nestkernel/mpi_manager.h:313:3: error: use of undeclared identifier 'MPI' MPI::Intracomm comm;
Also, I am not sure if that really built without OpenMP. At least cmake outputs
-- Found Cython: /Users/staude/.pyenv/shims/cython (found version "0.29.13") -- Found OpenMP_C: -fopenmp=libomp (found version "3.1") -- Found OpenMP_CXX: -fopenmp=libomp (found version "3.1") -- Found OpenMP: TRUE (found version "3.1")
and the Nest Configuration Summary says:
C compiler : /usr/local/opt/llvm/bin/clang C compiler flags : -O2 -Wall -fopenmp=libomp C++ compiler : /usr/local/opt/llvm/bin/clang++ C++ compiler flags : -std=c++11 -O2 -Wall -fopenmp=libomp
HANS EKKEHARDS SECOND OPTION
Haven’t tried yet, but also don’t know really what I would have to do in practice...
HANS EKKEHARDS THIRD OPTION
cmake -DCMAKE_INSTALL_PREFIX:PATH=$PWD/install \ -DOpenMP_CXX_FLAGS="-Xpreprocessor -fopenmp" -DOpenMP_CXX_LIB_NAMES="omp" \ -DOpenMP_C_FLAGS="-Xpreprocessor -fopenmp" -DOpenMP_C_LIB_NAMES="omp" \ -DOpenMP_omp_LIBRARY=/usr/local/lib/libomp.dylib \ -Dwith-mpi=ON ../src
That indeed failed during linking:
[ 24%] Linking CXX shared library libsli.dylib Undefined symbols for architecture x86_64: "___kmpc_critical", referenced from: SLIInterpreter::message(int, char const*, char const*, char const*) const in interpret.cc.o "___kmpc_end_critical", referenced from: SLIInterpreter::message(int, char const*, char const*, char const*) const in interpret.cc.o "___kmpc_global_thread_num", referenced from: SLIInterpreter::message(int, char const*, char const*, char const*) const in interpret.cc.o "_omp_in_parallel", referenced from: Name::insert(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in name.cc.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) make[2]: *** [sli/libsli.dylib] Error 1 make[1]: *** [sli/CMakeFiles/sli_lib.dir/all] Error 2 make: *** [all] Error 2
LEKSHMIS OPTION
When running your command, cmake worked fine, but make results in
clang: error: unsupported option '-fopenmp’
Also, I need the -Dwith-mpi=ON -Dwith-music=ON flags. If I set them, I get the familiar
-- Could NOT find MPI_C (missing: MPI_C_WORKS)
during cmake. This I can fix by using the g++-9 compiler. But then I get lots of errors during make. They start during Scanning dependencies of target nestkernel and look like this:
In file included from /Users/staude/Projekte/RainerDunkel/SensoryNetwork/Skripte/snn/NEST/nest-simulator-2.18.0/nestkernel/source_table.h:35, from /Users/staude/Projekte/RainerDunkel/SensoryNetwork/Skripte/snn/NEST/nest-simulator-2.18.0/nestkernel/connection_manager.h:42, from /Users/staude/Projekte/RainerDunkel/SensoryNetwork/Skripte/snn/NEST/nest-simulator-2.18.0/nestkernel/kernel_manager.h:27, from /Users/staude/Projekte/RainerDunkel/SensoryNetwork/Skripte/snn/NEST/nest-simulator-2.18.0/nestkernel/common_synapse_properties.cpp:27: /Users/staude/Projekte/RainerDunkel/SensoryNetwork/Skripte/snn/NEST/nest-simulator-2.18.0/nestkernel/mpi_manager.h:313:3: error: 'MPI' does not name a type; did you mean 'M_PI'? 313 | MPI::Intracomm comm; | ^~~ | M_PI
On 29. Oct 2019, at 16:36, Rajalekshmi Deepu r.deepu@fz-juelich.de wrote:
H Hans, Hi Benjamin,
Some months back, one of our colleague had some issues and we fixed it with the following command:
cmake -DCMAKE_INSTALL_PREFIX:PATH=/../NEST/bld -DCMAKE_C_COMPILER=gcc -DOpenMP_C_FLAGS="-fopenmp -I/usr/local/opt/libomp/include" -DOpenMP_C_LIB_NAMES="omp" -DOpenMP_omp_LIBRARY=/usr/local/opt/libomp -DCMAKE_CXX_COMPILER=g++ -DOpenMP_CXX_FLAGS="-fopenmp -I/usr/local/opt/libomp/include" -DOpenMP_CXX_LIB_NAMES="omp" /../NEST/nest-simulator
Best regards,
Lekshmi
On 29.10.19 16:04, Hans Ekkehard Plesser wrote:
Hi Benjamin,
This seems to be a deeper problem on OSX, see
https://stackoverflow.com/questions/58144137/gcc-missing-headers-on-macos10-...
Interestingly, it works for me on Mojave.
The quick-fix would be to build NEST with MPI but without OpenMP using the Clang compiler.
With llvm and libomp from brew installed, the following also works for me
cmake -E env LDFLAGS="-L/usr/local/opt/llvm/lib -Wl,-rpath,/usr/local/opt/llvm/lib" \ cmake -DCMAKE_INSTALL_PREFIX:PATH=$PWD/install \ -DCMAKE_C_COMPILER=/usr/local/opt/llvm/bin/clang \ -DCMAKE_CXX_COMPILER=/usr/local/opt/llvm/bin/clang++ \ -Dwith-mpi=ON ../src
This builds NEST using the Clang compiler from llvm with OpenMP and MPI support. The only problem is that some Python tests crash, complaining about two different OpenMP libraries imported (libomp and libiomp5, where the latter comes from Anaconda's MKL library). One can (with a certain risk of problems) set
KMP_DUPLICATE_LIB_OK=TRUE
which will make macOS ignore the duplicate libraries. Tests then pass, but behavior may be unpredictable.
Alternatively, one can create a Conda environment without MKL as describe on StackOverflow (https://stackoverflow.com/questions/38345519/how-to-install-scipy-without-mk...). I haven't tested this yet.
I also tried compiling with the Apple Clang, configuring as
cmake -DCMAKE_INSTALL_PREFIX:PATH=$PWD/install \ -DOpenMP_CXX_FLAGS="-Xpreprocessor -fopenmp" -DOpenMP_CXX_LIB_NAMES="omp" \ -DOpenMP_C_FLAGS="-Xpreprocessor -fopenmp" -DOpenMP_C_LIB_NAMES="omp" \ -DOpenMP_omp_LIBRARY=/usr/local/lib/libomp.dylib \ -Dwith-mpi=ON ../src
based on https://iscinumpy.gitlab.io/post/omp-on-high-sierra/, but this failed when linking, since the library information probably is not used properly by our CMake script.
Best, Hans Ekkehard
--
Prof. Dr. Hans Ekkehard Plesser Head, Data Science Section
Faculty of Science and Technology Norwegian University of Life Sciences PO Box 5003, 1432 Aas, Norway
Phone +47 6723 1560 Email hans.ekkehard.plesser@nmbu.no Home http://arken.nmbu.no/~plesser
NEST Users mailing list -- users@nest-simulator.org To unsubscribe send an email to users-leave@nest-simulator.org
-- Rajalekshmi Deepu Simulation Lab Neuroscience Division HPC in Neuroscience Phone: +49 2461 61 8945 Jülich Supercomputing Centre (JSC) E-mail: r.deepu@fz-juelich.de Institute for Advanced Simulation http://www.fz-juelich.de/ias/jsc Forschungszentrum Jülich GmbH
Dr. Benjamin Staude | Paul-Lincke-Ufer 7 | 10999 Berlin | benjamin.staude@gmail.com
--
Prof. Dr. Hans Ekkehard Plesser Head, Data Science Section
Faculty of Science and Technology Norwegian University of Life Sciences PO Box 5003, 1432 Aas, Norway
Phone +47 6723 1560 Email hans.ekkehard.plesser@nmbu.no Home http://arken.nmbu.no/~plesser
Hi Benjamin,
Thanks for asking, I have not continued to install nest on osx. I guess I will simply use a vm with Ubuntu for the simulation.
Sorry we didn't get any further for now, but good that you have a work-around available.
But since you’re asking: are you aware of an example of music in python that uses a chain-like architecture? I only found one in c++.
I do now know one off-hand, but maybe someone else on the list does.
Best, Hans Ekkehard
Best, Benjamin
Am 06.11.2019 um 16:54 schrieb Hans Ekkehard Plesser <hans.ekkehard.plesser@nmbu.nomailto:hans.ekkehard.plesser@nmbu.no>:
Hi Benjamin,
Have you made any progress in the meantime? Unfortunately, I have only very limited time to explore this at the moment.
Best, Hans Ekkehard
On 29 Oct 2019, at 20:28, Benjamin Staude <benjamin.staude@gmail.commailto:benjamin.staude@gmail.com> wrote:
Hi Hans Ekkehard, hi Lakshmi,
Thank you for your suggestions, unfortunately none have worked for me so far. Here’s what happened:
----------------------------------------------------------- HANS EKKEHARDS FIRST OPTION
cmake -E env LDFLAGS="-L/usr/local/opt/llvm/lib -Wl,-rpath,/usr/local/opt/llvm/lib" \ cmake -DCMAKE_INSTALL_PREFIX:PATH=$PWD/install \ -DCMAKE_C_COMPILER=/usr/local/opt/llvm/bin/clang \ -DCMAKE_CXX_COMPILER=/usr/local/opt/llvm/bin/clang++ \ -Dwith-mpi=ON ../src
Here, the cmake command went through, but make failed during
Scanning dependencies of target nestkernel
with lots of errors like:
In file included from /Users/staude/Projekte/RainerDunkel/SensoryNetwork/Skripte/snn/NEST/nest-simulator-2.18.0/nestkernel/clopath_archiving_node.cpp:26: In file included from /Users/staude/Projekte/RainerDunkel/SensoryNetwork/Skripte/snn/NEST/nest-simulator-2.18.0/nestkernel/kernel_manager.h:27: In file included from /Users/staude/Projekte/RainerDunkel/SensoryNetwork/Skripte/snn/NEST/nest-simulator-2.18.0/nestkernel/connection_manager.h:42: In file included from /Users/staude/Projekte/RainerDunkel/SensoryNetwork/Skripte/snn/NEST/nest-simulator-2.18.0/nestkernel/source_table.h:35: /Users/staude/Projekte/RainerDunkel/SensoryNetwork/Skripte/snn/NEST/nest-simulator-2.18.0/nestkernel/mpi_manager.h:313:3: error: use of undeclared identifier 'MPI' MPI::Intracomm comm;
Also, I am not sure if that really built without OpenMP. At least cmake outputs
-- Found Cython: /Users/staude/.pyenv/shims/cython (found version "0.29.13") -- Found OpenMP_C: -fopenmp=libomp (found version "3.1") -- Found OpenMP_CXX: -fopenmp=libomp (found version "3.1") -- Found OpenMP: TRUE (found version "3.1")
and the Nest Configuration Summary says:
C compiler : /usr/local/opt/llvm/bin/clang C compiler flags : -O2 -Wall -fopenmp=libomp C++ compiler : /usr/local/opt/llvm/bin/clang++ C++ compiler flags : -std=c++11 -O2 -Wall -fopenmp=libomp
----------------------------------------------------------- HANS EKKEHARDS SECOND OPTION
Haven’t tried yet, but also don’t know really what I would have to do in practice...
----------------------------------------------------------- HANS EKKEHARDS THIRD OPTION
cmake -DCMAKE_INSTALL_PREFIX:PATH=$PWD/install \ -DOpenMP_CXX_FLAGS="-Xpreprocessor -fopenmp" -DOpenMP_CXX_LIB_NAMES="omp" \ -DOpenMP_C_FLAGS="-Xpreprocessor -fopenmp" -DOpenMP_C_LIB_NAMES="omp" \ -DOpenMP_omp_LIBRARY=/usr/local/lib/libomp.dylib \ -Dwith-mpi=ON ../src
That indeed failed during linking:
[ 24%] Linking CXX shared library libsli.dylib Undefined symbols for architecture x86_64: "___kmpc_critical", referenced from: SLIInterpreter::message(int, char const*, char const*, char const*) const in interpret.cc.o "___kmpc_end_critical", referenced from: SLIInterpreter::message(int, char const*, char const*, char const*) const in interpret.cc.o "___kmpc_global_thread_num", referenced from: SLIInterpreter::message(int, char const*, char const*, char const*) const in interpret.cc.o "_omp_in_parallel", referenced from: Name::insert(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in name.cc.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) make[2]: *** [sli/libsli.dylib] Error 1 make[1]: *** [sli/CMakeFiles/sli_lib.dir/all] Error 2 make: *** [all] Error 2
----------------------------------------------------------- LEKSHMIS OPTION
When running your command, cmake worked fine, but make results in
clang: error: unsupported option '-fopenmp’
Also, I need the -Dwith-mpi=ON -Dwith-music=ON flags. If I set them, I get the familiar
-- Could NOT find MPI_C (missing: MPI_C_WORKS)
during cmake. This I can fix by using the g++-9 compiler. But then I get lots of errors during make. They start during Scanning dependencies of target nestkernel and look like this:
In file included from /Users/staude/Projekte/RainerDunkel/SensoryNetwork/Skripte/snn/NEST/nest-simulator-2.18.0/nestkernel/source_table.h:35, from /Users/staude/Projekte/RainerDunkel/SensoryNetwork/Skripte/snn/NEST/nest-simulator-2.18.0/nestkernel/connection_manager.h:42, from /Users/staude/Projekte/RainerDunkel/SensoryNetwork/Skripte/snn/NEST/nest-simulator-2.18.0/nestkernel/kernel_manager.h:27, from /Users/staude/Projekte/RainerDunkel/SensoryNetwork/Skripte/snn/NEST/nest-simulator-2.18.0/nestkernel/common_synapse_properties.cpp:27: /Users/staude/Projekte/RainerDunkel/SensoryNetwork/Skripte/snn/NEST/nest-simulator-2.18.0/nestkernel/mpi_manager.h:313:3: error: 'MPI' does not name a type; did you mean 'M_PI'? 313 | MPI::Intracomm comm; | ^~~ | M_PI
On 29. Oct 2019, at 16:36, Rajalekshmi Deepu <r.deepu@fz-juelich.demailto:r.deepu@fz-juelich.de> wrote:
H Hans, Hi Benjamin,
Some months back, one of our colleague had some issues and we fixed it with the following command:
cmake -DCMAKE_INSTALL_PREFIX:PATH=/../NEST/bld -DCMAKE_C_COMPILER=gcc -DOpenMP_C_FLAGS="-fopenmp -I/usr/local/opt/libomp/include" -DOpenMP_C_LIB_NAMES="omp" -DOpenMP_omp_LIBRARY=/usr/local/opt/libomp -DCMAKE_CXX_COMPILER=g++ -DOpenMP_CXX_FLAGS="-fopenmp -I/usr/local/opt/libomp/include" -DOpenMP_CXX_LIB_NAMES="omp" /../NEST/nest-simulator
Best regards,
Lekshmi
On 29.10.19 16:04, Hans Ekkehard Plesser wrote:
Hi Benjamin,
This seems to be a deeper problem on OSX, see
https://stackoverflow.com/questions/58144137/gcc-missing-headers-on-macos10-...
Interestingly, it works for me on Mojave.
The quick-fix would be to build NEST with MPI but without OpenMP using the Clang compiler.
With llvm and libomp from brew installed, the following also works for me
cmake -E env LDFLAGS="-L/usr/local/opt/llvm/lib -Wl,-rpath,/usr/local/opt/llvm/lib" \ cmake -DCMAKE_INSTALL_PREFIX:PATH=$PWD/install \ -DCMAKE_C_COMPILER=/usr/local/opt/llvm/bin/clang \ -DCMAKE_CXX_COMPILER=/usr/local/opt/llvm/bin/clang++ \ -Dwith-mpi=ON ../src
This builds NEST using the Clang compiler from llvm with OpenMP and MPI support. The only problem is that some Python tests crash, complaining about two different OpenMP libraries imported (libomp and libiomp5, where the latter comes from Anaconda's MKL library). One can (with a certain risk of problems) set
KMP_DUPLICATE_LIB_OK=TRUE
which will make macOS ignore the duplicate libraries. Tests then pass, but behavior may be unpredictable.
Alternatively, one can create a Conda environment without MKL as describe on StackOverflow (https://stackoverflow.com/questions/38345519/how-to-install-scipy-without-mk...). I haven't tested this yet.
I also tried compiling with the Apple Clang, configuring as
cmake -DCMAKE_INSTALL_PREFIX:PATH=$PWD/install \ -DOpenMP_CXX_FLAGS="-Xpreprocessor -fopenmp" -DOpenMP_CXX_LIB_NAMES="omp" \ -DOpenMP_C_FLAGS="-Xpreprocessor -fopenmp" -DOpenMP_C_LIB_NAMES="omp" \ -DOpenMP_omp_LIBRARY=/usr/local/lib/libomp.dylib \ -Dwith-mpi=ON ../src
based on https://iscinumpy.gitlab.io/post/omp-on-high-sierra/, but this failed when linking, since the library information probably is not used properly by our CMake script.
Best, Hans Ekkehard
--
Prof. Dr. Hans Ekkehard Plesser Head, Data Science Section
Faculty of Science and Technology Norwegian University of Life Sciences PO Box 5003, 1432 Aas, Norway
Phone +47 6723 1560 Email hans.ekkehard.plesser@nmbu.no Home http://arken.nmbu.no/~plesser
_______________________________________________ NEST Users mailing list -- users@nest-simulator.orgmailto:users@nest-simulator.org To unsubscribe send an email to users-leave@nest-simulator.orgmailto:users-leave@nest-simulator.org
-- Rajalekshmi Deepu Simulation Lab Neuroscience Division HPC in Neuroscience Phone: +49 2461 61 8945 Jülich Supercomputing Centre (JSC) E-mail: r.deepu@fz-juelich.demailto:r.deepu@fz-juelich.de Institute for Advanced Simulation http://www.fz-juelich.de/ias/jsc Forschungszentrum Jülich GmbH
-- -- -- Dr. Benjamin Staude | Paul-Lincke-Ufer 7 | 10999 Berlin | benjamin.staude@gmail.commailto:benjamin.staude@gmail.com
--
Prof. Dr. Hans Ekkehard Plesser Head, Data Science Section
Faculty of Science and Technology Norwegian University of Life Sciences PO Box 5003, 1432 Aas, Norway
Phone +47 6723 1560 Email hans.ekkehard.plesser@nmbu.no Home http://arken.nmbu.no/~plesser
--
Prof. Dr. Hans Ekkehard Plesser Head, Data Science Section
Faculty of Science and Technology Norwegian University of Life Sciences PO Box 5003, 1432 Aas, Norway
Phone +47 6723 1560 Email hans.ekkehard.plesser@nmbu.no Home http://arken.nmbu.no/~plesser