Hi Pooja,

 

Concerning libomp: As the full brew package list shows, I had that installed. I wonder a bit why I have it and you did not get it automatically even though you have the same brew leaves I have. It may be that I had the libomp leftover as dependency of another package that I uninstalled in the meantime or that brew leaves is not entirely reliable. But that problem is solved.

 

The complaint about libiomp5 in my experience relates to NumPy built with the Intel MKL, which is default for conda. Usually, one can avoid this by creating a conda environment where nomkl is the first package specified/installed. You can check this either by running conda list and check if nomkl or a number of mkl* packages are installed, or by importing numpy into Python and then running numpy.__config__.show(). If that mentions mkl_rt libraries, you have NumPy with MKL in your environment, if it shows only openblas you don’t.

 

Best,

Hans Ekkehard

 

-- 

 

Prof. Dr. Hans Ekkehard Plesser

Head, Department of Data Science

 

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

 

 

On 18/01/2021, 20:30, "Babu, Pooja" <p.babu@fz-juelich.de> wrote:

 

Hello Hans,

 

Thank you for a detailed description of your setup and steps.

 

I checked them with mine and although I do not have all the brew packages that you have in your complete list, I have the ones you mentioned in brew leaves.

 

I tried to install nest with Apple’s Clang with the option -Dwith-mpi=OFF. I got the below errors during cmake.

 

-- 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:466 (message): 

 CMake can not find OpenMP. 

Call Stack (most recent call first): 

 CMakeLists.txt:146 (nest_process_with_openmp)

 

I saw another thread with the same issue and found that I had open-mpi installed via homebrew as mentioned there. The thread also mentions libomp package. I installed that and the errors were gone. The make install command was successful. After this, when I imported nest into python, I got the below errors

 

OMP: Error #15: Initializing libomp.dylib, but found libiomp5.dylib already initialized.
OMP: Hint This means that multiple copies of the OpenMP runtime have been linked into the program. That is dangerous, since it can degrade performance or cause incorrect results. The best thing to do is to ensure that only a single OpenMP runtime is linked into the process, e.g. by avoiding static linking of the OpenMP runtime in any library. As an unsafe, unsupported, undocumented workaround you can set the environment variable KMP_DUPLICATE_LIB_OK=TRUE to allow the program to continue to execute, but that may cause crashes or silently produce incorrect results. For more information, please see http://openmp.llvm.org/
Abort trap: 6

 

I did the workaround as suggested in the message by setting KMP_DUPLICATE_LIB_OK=TRUE. This setting indeed got rid of the above error and the import was successful, but as mentioned, the behaviour could be unpredictable. 

 

I couldn’t find any other way to work around the initial OpenMP_C and OpenMP_CXX errors other than installing libomp package. Do you know if there is any other way to resolve that error?

 

Thanks,

Pooja

 

 

On 18. Jan 2021, at 07:36, Hans Ekkehard Plesser <hans.ekkehard.plesser@nmbu.no> wrote:

 

 

Hi Pooja,

 

Over the weekend, I did a brief test on a Mac with Big Sur an built NEST successfully. Below is a detailed description of my setup and steps I have taken. I hope this helps.

 

Best,

Hans Ekkehard

 

System: Mac Book Air with INTEL CPU, Big Sur 11.1

 

Apple Command Line Tools

% xcode-select --print-path

/Library/Developer/CommandLineTools

 

Homebrew packages (explicitly installed; see below for full list)

 

                % brew leaves

boost

cmake

git

gsl

imagemagick

open-mpi

scipy

wget

 

Conda packages (base installation is miniconda3; this shows only explicitly installed packages, full list below)

 

% conda create -n nest_dev nomkl numpy scipy matplotlib ipython cython nose  

% conda activate nest_dev

% pip install junitparser

% conda export --from-history

 

name: nest_dev

channels:

  - defaults

dependencies:

  - nomkl

  - numpy

  - nose

  - matplotlib

  - cython

  - ipython

  - scipy

                

Additionally via pip: junitparser

 

CMake invocation and report

 

% cmake -DCMAKE_INSTALL_PREFIX:PATH=`pwd`/install -Dwith-mpi=ON ../src

 

-- NEST version: master@0e6cd2819

 

--------------------------------------------------------------------------------

NEST Configuration Summary

--------------------------------------------------------------------------------

 

Build type          : 

Target System       : Darwin

Cross Compiling     : FALSE

C compiler          : AppleClang 12.0.0.12000032 (/Library/Developer/CommandLineTools/usr/bin/cc)

C compiler flags    :  -O2 -Wall -Xclang -fopenmp    

C++ compiler        : AppleClang 12.0.0.12000032 (/Library/Developer/CommandLineTools/usr/bin/c++)

C++ compiler flags  :  -std=c++11 -O2 -Wall -Xclang -fopenmp  

Build dynamic       : ON

 

Built-in modules    : models

User modules        : None

Python bindings     : Yes (Python 3.8.5: /Users/hep/opt/miniconda3/envs/nest_dev/bin/python3)

       Includes     : /Users/hep/opt/miniconda3/envs/nest_dev/include/python3.8

       Libraries    : /Users/hep/opt/miniconda3/envs/nest_dev/lib/libpython3.8.dylib

 

Cython bindings     : Yes (Cython 0.29.21: /Users/hep/opt/miniconda3/envs/nest_dev/bin/cython)

MPI4PY header     : NO 

Use threading       : Yes (OpenMP: -Xclang -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        : No

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.5/include

    Link Flags      : -L/usr/local/Cellar/libevent/2.1.12/lib

    Libraries       : /usr/local/Cellar/open-mpi/4.0.5/lib/libmpi.dylib

 

Use MUSIC           : No

Use libneurosim     : No

Use Boost           : Yes (Boost 1.75.0)

    Includes        : /usr/local/include

    Libraries       : 

 

Use recording backend Arbor   : No

Use SIONlib         : No

 

————————————————————————————————————————

 

Results from testsuite

 

                % make -j4 install

                % make installcheck

 

----------------------------------------------------------------------

NEST Testsuite Results

----------------------------------------------------------------------

Phase                    Tests   Skipped  Failures    Errors      Time

----------------------------------------------------------------------

01 basetests                 6         0         0         0      12.0

02 selftests                 8         4         0         0      24.0

03 unittests               185         1         0         0     208.0

04 regressiontests          94         7         0         0     142.0

05 mpitests                 79         0         0         0     258.0

07 pynesttests             796        11         0         0     144.2

08 cpptests                 29         0         0         0       0.0

----------------------------------------------------------------------

Total                     1197        23         0         0     788.2

----------------------------------------------------------------------

 

 

Complete list of Brew packages

 

% brew list

 

aom 2.0.1

boost 1.75.0_1

cmake 3.19.3

docbook 5.1_1

docbook-xsl 1.79.2_1

freetype 2.10.4

gcc 10.2.0_2

gdbm 1.18.1_1

gettext 0.21

ghostscript 9.53.3_1

git 2.30.0

glib 2.66.4_1

gmp 6.2.1

gnu-getopt 2.36.1

gsl 2.6

hwloc 2.4.0

icu4c 67.1

ilmbase 2.5.4

imagemagick 7.0.10-57

isl 0.23

jpeg 9d

libde265 1.0.8

libevent 2.1.12

libffi 3.3_2

libheif 1.10.0

libidn2 2.3.0

liblqr 0.4.2_1

libmpc 1.2.1

libomp 11.0.1

libpng 1.6.37

libtiff 4.2.0

libtool 2.4.6_2

libunistring 0.9.10

little-cms2 2.11

mpfr 4.1.0

numpy 1.19.5

open-mpi 4.0.5

openblas 0.3.13

openexr 2.5.4

openjpeg 2.3.1

openssl@1.1 1.1.1i

pcre 8.44

pcre2 10.36

pybind11 2.6.1_1

python@3.8 3.8.7

python@3.9 3.9.1_6

readline 8.1

scipy 1.6.0

shared-mime-info 2.1

sqlite 3.34.0

tcl-tk 8.6.11

webp 1.1.0

wget 1.21

x265 3.4_2

xmlto 0.0.28

xz 5.2.5

 

 

Complete list of Conda packages in nest_dev

 

% conda activate nest_dev

% conda env export

name: nest_dev

channels:

  - defaults

dependencies:

  - appnope=0.1.2=py38hecd8cb5_1001

  - backcall=0.2.0=py_0

  - blas=1.0=openblas

  - ca-certificates=2020.12.8=hecd8cb5_0

  - certifi=2020.12.5=py38hecd8cb5_0

  - cycler=0.10.0=py38_0

  - cython=0.29.21=py38h23ab428_0

  - decorator=4.4.2=py_0

  - freetype=2.10.4=ha233b18_0

  - ipython=7.19.0=py38h01d92e1_1

  - ipython_genutils=0.2.0=pyhd3eb1b0_1

  - jedi=0.17.2=py38hecd8cb5_1

  - jpeg=9b=he5867d9_2

  - kiwisolver=1.3.0=py38h23ab428_0

  - lcms2=2.11=h92f6f08_0

  - libcxx=10.0.0=1

  - libedit=3.1.20191231=h1de35cc_1

  - libffi=3.3=hb1e8313_2

  - libgfortran=3.0.1=h93005f0_2

  - libopenblas=0.3.10=h0794777_0

  - libpng=1.6.37=ha441bb4_0

  - libtiff=4.1.0=hcb84e12_1

  - lz4-c=1.9.2=h79c402e_3

  - matplotlib=3.3.2=hecd8cb5_0

  - matplotlib-base=3.3.2=py38h181983e_0

  - ncurses=6.2=h0a44026_1

  - nomkl=3.0=0

  - nose=1.3.7=pyhd3eb1b0_1006

  - numpy=1.19.2=py38h63973fd_0

  - numpy-base=1.19.2=py38h68fea81_0

  - olefile=0.46=py_0

  - openssl=1.1.1i=h9ed2024_0

  - parso=0.7.0=py_0

  - pexpect=4.8.0=pyhd3eb1b0_3

  - pickleshare=0.7.5=pyhd3eb1b0_1003

  - pillow=8.1.0=py38h5270095_0

  - pip=20.3.3=py38hecd8cb5_0

  - prompt-toolkit=3.0.8=py_0

  - ptyprocess=0.7.0=pyhd3eb1b0_2

  - pygments=2.7.4=pyhd3eb1b0_0

  - pyparsing=2.4.7=py_0

  - python=3.8.5=h26836e1_1

  - python-dateutil=2.8.1=py_0

  - readline=8.0=h1de35cc_0

  - scipy=1.5.2=py38h4420a3a_0

  - setuptools=51.1.2=py38hecd8cb5_4

  - six=1.15.0=py38hecd8cb5_0

  - sqlite=3.33.0=hffcf06c_0

  - tk=8.6.10=hb0a8c7a_0

  - tornado=6.1=py38h9ed2024_0

  - traitlets=5.0.5=py_0

  - wcwidth=0.2.5=py_0

  - wheel=0.36.2=pyhd3eb1b0_0

  - xz=5.2.5=h1de35cc_0

  - zlib=1.2.11=h1de35cc_3

  - zstd=1.4.5=h41d2c2f_0

  - pip:

    - future==0.18.2

    - junitparser==1.6.2

 

 

 

 

 

 

-- 

 

Prof. Dr. Hans Ekkehard Plesser

Head, Department of Data Science

 

Faculty of Science and Technology

Norwegian University of Life Sciences

PO Box 5003, 1432 Aas, Norway

 

Phone +47 6723 1560

 

 

On 15/01/2021, 15:48, "Babu, Pooja" <p.babu@fz-juelich.de> wrote:

 

Hello everyone, 

 

I have a Mac with Big Sur and I tried installing NEST with a Conda environment as mentioned here by pulling in the latest code from Github. My commands look like this

 

conda create -n nestml_dev nomkl numpy scipy matplotlib ipython cython nose pytest

conda activate nestml_dev

 

<Pull the latest code from github>

mkdir nest-simulator-build

cd nest-simulator-build

 

cmake -DCMAKE_INSTALL_PREFIX:PATH=<nest_path> -DCMAKE_C_COMPILER=gcc-10 -DCMAKE_CXX_COMPILER=g++-10 <nest_src>

make -j4

make install

 

After this, if I try to import nest in python or run nest from the command line, I get the following error

 

OMP: Error #13: Assertion failure at kmp_csupport.cpp(590).
OMP: Hint Please submit a bug report with this message, compile and run commands used, and machine configuration info including native compiler and operating system versions. Faster response will be obtained by including all program sources. For information on submitting this issue, please see 
http://www.intel.com/software/products/support/.
Abort trap: 6

 

Has anyone else seen this error? Any pointers on this would be helpful.

 

Thank you,

Pooja



------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------
Forschungszentrum Juelich GmbH
52425 Juelich
Sitz der Gesellschaft: Juelich
Eingetragen im Handelsregister des Amtsgerichts Dueren Nr. HR B 3498
Vorsitzender des Aufsichtsrats: MinDir Volker Rieke
Geschaeftsfuehrung: Prof. Dr.-Ing. Wolfgang Marquardt (Vorsitzender),
Karsten Beneke (stellv. Vorsitzender), Prof. Dr.-Ing. Harald Bolt
------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------



_______________________________________________
NEST Users mailing list -- 
users@nest-simulator.org
To unsubscribe send an email to 
users-leave@nest-simulator.org