neuronsimulator / nrn

NEURON Simulator
http://nrn.readthedocs.io
Other
403 stars 118 forks source link

-- Required features: cxx_variadic_templates #477

Closed SteMasoli closed 3 years ago

SteMasoli commented 4 years ago

Hi.

The new cmake installation, with coreneuron switched ON -DNRN_ENABLE_CORENEURON=ON and Cmake 3.10.2, get stuck with -- Required features: cxx_variadic_templates and Object library target "symtab_obj" may not link to anything.

pramodk commented 4 years ago

Thank you @SteMasoli for bug report.

I will test the build with CMake 3.10.2 and will get back to you.

alkino commented 3 years ago

I'm not able to reproduce with cmake 3.10.2 download from github on linux and Coreneuron enabled. What is your compiler and version of your compiler. The best is to send us the whole cmake log.

alkino commented 3 years ago

My own log:

$ ~/Téléchargements/cmake-3.10.2-Linux-x86_64/bin/cmake -DNRN_ENABLE_CORENEURON=ON ..

-- The C compiler identification is GNU 10.2.0
-- The CXX compiler identification is GNU 10.2.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Setting build type to 'RelWithDebInfo' as none was specified.
-- Found BISON: /usr/bin/bison (found version "3.7.2")
-- Found FLEX: /usr/bin/flex (found version "2.6.4")
-- Found Readline: /usr/include
-- Found PythonInterp: /usr/bin/python3 (found version "3.8.6")
-- Found Cython: /usr/bin/cython (found version "0.29.21")
-- Found MPI_C: /usr/lib/openmpi/libmpi.so (found version "3.1")
-- Found MPI_CXX: /usr/lib/openmpi/libmpi_cxx.so (found version "3.1")
-- Found MPI: TRUE (found version "3.1")
-- Sub-project : using iv from from external/iv
-- Found X11: /usr/lib/libX11.so
-- Checking for include files
-- Checking for functions
-- Checking for include directories
-- Checking for types
--
-- Configured INTERVIEWS 0.1
--
-- Some things you can do now:
-- --------------+--------------------------------------------------------------
-- Command       |   Description
-- --------------+--------------------------------------------------------------
-- make install  | Will install INTERVIEWS to: /usr/local
--               | Change the install location of NEURON using:
--               |     cmake <src_path> -DCMAKE_INSTALL_PREFIX=<install_path>
-- --------------+--------------------------------------------------------------
-- Build option  | Status
-- --------------+--------------------------------------------------------------
-- BUILD_TYPE    | RelWithDebInfo (allowed: Debug;Release;RelWithDebInfo)
-- SHARED        | OFF
-- X11_DYNAMIC   | OFF
-- --------------+--------------------------------------------------------------
--  See more : https://github.com/neuronsimulator/iv
-- --------------+--------------------------------------------------------------
--
-- Found PythonInterp: /usr/bin/python3 (found suitable version "3.8.6", minimum required is "3")
-- Found PythonLibs: /usr/lib/libpython3.8.so
-- Check if compiler accepts -pthread
-- Check if compiler accepts -pthread - yes
-- Found Threads: TRUE
-- Building CoreNEURON from submodule
-- Sub-project : using coreneuron from from external/coreneuron
-- Found HpcCodingConv: /home/alkino/EPFL/nrn/external/coreneuron/CMake/hpc-coding-conventions
-- CORENRN_FORMATTING: OFF
-- CORENRN_FORMATTING_ON: all
-- CORENRN_FORMATTING_CPP_CHANGES_ONLY: OFF
-- CORENRN_TEST_FORMATTING: OFF
-- CORENRN_FORMATTING_NO_SUBMODULES: ON
-- CORENRN_CLANG_FORMAT: OFF
-- CORENRN_CMAKE_FORMAT: OFF
-- CORENRN_PRECOMMIT: OFF
-- CORENRN_PRECOMMIT_REGEN: OFF
-- CORENRN_STATIC_ANALYSIS: OFF
-- CORENRN_TEST_STATIC_ANALYSIS: OFF
-- Found Random123: /home/alkino/EPFL/nrn/external/coreneuron/external/Random123
-- Found CLI11: /home/alkino/EPFL/nrn/external/coreneuron/external/CLI11
-- Found Git: /usr/bin/git (found version "2.29.2")
-- Found Doxygen: /usr/bin/doxygen (found version "1.8.20") found components:  doxygen dot
-- Found PythonInterp: /usr/bin/python3 (found version "3.8.6")
-- Found Perl: /usr/bin/perl (found version "5.32.0")
-- Found MOD2C: /home/alkino/EPFL/nrn/external/coreneuron/external/mod2c
-- Using mod2c submodule from /home/alkino/EPFL/nrn/external/coreneuron/external/mod2c
-- mod2c is used as APPLICATION_NAME
-- CXX Compile flags from BUILD_TYPE (RELWITHDEBINFO): -g  -O2
--
-- Configured CoreNEURON 0.21.0
--
-- Some things you can do now:
-- --------------------+--------------------------------------------------------
-- Command             |   Description
-- --------------------+--------------------------------------------------------
-- make install        | Will install CoreNEURON to: /usr/local
-- make docs           | Build full docs. Calls targets: doxygen, sphinx
-- --------------------+--------------------------------------------------------
--  Build option       | Status
-- --------------------+--------------------------------------------------------
-- C COMPILER          | /usr/bin/cc
-- CXX COMPILER        | /usr/bin/c++
-- COMPILE FLAGS       | -g  -O2  -Wno-unknown-pragmas -fopenmp
-- Build Type          | SHARED
-- MPI                 | ON
--   INC               | /usr/include
-- OpenMP              | ON
-- Use legacy units    | OFF
-- NMODL               | OFF
-- MOD2C               | /home/alkino/EPFL/nrn/external/coreneuron/external/mod2c
-- GPU Support         | OFF
-- Auto Timeout        | ON
-- Wrap exp()          | OFF
-- SplayTree Queue     | ON
-- NetReceive Buffer   | ON
-- Caliper             | OFF
-- Likwid              | OFF
-- Unit Tests          | OFF
-- Reporting           | OFF
-- --------------+--------------------------------------------------------------
--  See documentation : https://github.com/BlueBrain/CoreNeuron/
-- --------------+--------------------------------------------------------------
--
--
-- Configured NEURON 8.0
--
-- Some things you can do now:
-- --------------+--------------------------------------------------------------
-- Command       |   Description
-- --------------+--------------------------------------------------------------
-- make install  | Will install NEURON to: /usr/local
--               | Change the install location of NEURON using:
--               |     cmake <src_path> -DCMAKE_INSTALL_PREFIX=<install_path>
-- make docs     | Build full docs. Calls targets: doxygen, prepare_docs, sphinx
-- make uninstall| Removes files installed by make install (todo)
-- --------------+--------------------------------------------------------------
--  Build option | Status
-- --------------+--------------------------------------------------------------
-- C COMPILER    | /usr/bin/cc
-- CXX COMPILER  | /usr/bin/c++
-- BUILD_TYPE    | RelWithDebInfo (allowed: Custom;Debug;Release;RelWithDebInfo;Fast)
-- COMPILE FLAGS | -g  -O2
-- Shared        | ON
-- Binary special| ON
-- Default units | modern units (2019 nist constants)
-- MPI           | ON
--   INC         | /usr/include
--   LIB         | /usr/lib/openmpi/libmpi_cxx.so
--   DYNAMIC     | OFF
-- Python        | ON
--   EXE         | /usr/bin/python3
--   INC         | /usr/include/python3.8
--   LIB         | /usr/lib/libpython3.8.so
--   MODULE      | ON
--   DYNAMIC     | OFF
-- Readline      | /usr/lib/libreadline.so
-- Curses        | /usr/lib/libcurses.so;/usr/lib/libform.so
-- RX3D          | ON
--   OptLevel    | 0
-- Interviews    | ON
--   PATH        | /home/alkino/EPFL/nrn/external/iv
--   INC         | /home/alkino/EPFL/nrn/external/iv/src/include
--   X11 (INC)   | /usr/include
-- CoreNEURON    | ON
--   PATH        | /home/alkino/EPFL/nrn/external/coreneuron
--   LINK FLAGS  | -Lx86_64 -lcorenrnmech
--   Legacy Units| OFF
-- --------------+--------------------------------------------------------------
--  See documentation : https://www.neuron.yale.edu/neuron/
-- --------------+--------------------------------------------------------------
--
-- Configuring done
-- Generating done
-- Build files have been written to: /home/alkino/EPFL/nrn/BUILD
alexsavulescu commented 3 years ago

Hi @SteMasoli, is this issue still valid? We've made several updates/fixes/improvements since then. Also ran our CI with CMake 3.10.2 with no issues encountered.

pramodk commented 3 years ago

I was thinking this is Marconi100 related but there I don't see CMake 3.10.2:

[pkumbhar@login02 nrn]$ ls -lrt /cineca/prod/opt/tools/cmake/
total 2
drwxr-xr-x 4 propro01 product 4096 Apr 24  2020 3.17.1
drwxr-xr-x 3 propro01 product 4096 Mar 25 09:52 3.20.0

So I rebuilt the cmake 3.10.2 and I don't see this error:

which cmakekumbhar@bbpv1:~/nn/build$ which cmake
~/workarena/systems/bbpv/softwares/sources/spack/opt/spack/linux-rhel7-x86_64/gcc-9.3.0/cmake-3.10.2-evklnn/bin/cmake
kumbhar@bbpv1:~/nn/build$ cmake --version
cmake version 3.10.2

CMake suite maintained and supported by Kitware (kitware.com/cmake).
kumbhar@bbpv1:~/nn/build$ cmake -DNRN_ENABLE_CORENEURON=ON ..
-- The C compiler identification is Intel 19.1.2.20200623
-- The CXX compiler identification is Intel 19.1.2.20200623
-- Check for working C compiler: /gpfs/bbp.cscs.ch/ssd/apps/hpc/jenkins/deploy/compilers/2021-01-06/linux-rhel7-x86_64/gcc-4.8.5/intel-20.0.2-ilowey/bin/icc
-- Check for working C compiler: /gpfs/bbp.cscs.ch/ssd/apps/hpc/jenkins/deploy/compilers/2021-01-06/linux-rhel7-x86_64/gcc-4.8.5/intel-20.0.2-ilowey/bin/icc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /gpfs/bbp.cscs.ch/ssd/apps/hpc/jenkins/deploy/compilers/2021-01-06/linux-rhel7-x86_64/gcc-4.8.5/intel-20.0.2-ilowey/bin/icpc
-- Check for working CXX compiler: /gpfs/bbp.cscs.ch/ssd/apps/hpc/jenkins/deploy/compilers/2021-01-06/linux-rhel7-x86_64/gcc-4.8.5/intel-20.0.2-ilowey/bin/icpc -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
heads/master
-- Setting build type to 'RelWithDebInfo' as none was specified.
-- Found BISON: /gpfs/bbp.cscs.ch/apps/tools/install/linux-rhel7-x86_64/gcc-4.8.5/bison-3.0.5-ubcgc4/bin/bison (found version "3.0.5")
-- Found FLEX: /gpfs/bbp.cscs.ch/apps/tools/install/linux-rhel7-x86_64/gcc-4.8.5/flex-2.6.3-r2qhjn/bin/flex (found version "2.6.3")
-- Found Readline: /usr/include
-- Found PythonInterp: /gpfs/bbp.cscs.ch/ssd/apps/hpc/jenkins/deploy/externals/2021-01-06/linux-rhel7-x86_64/gcc-9.3.0/python-3.8.3-suxrst/bin/python3 (found version "3.8.3")
-- Found Cython: /gpfs/bbp.cscs.ch/ssd/apps/hpc/jenkins/deploy/libraries/2021-01-06/linux-rhel7-x86_64/gcc-9.3.0/py-cython-0.29.21-6s4srk/bin/cython (found version "0.29.21")
-- Found MPI_C: /lib64/libpthread.so (found version "3.1")
-- Found MPI_CXX: /lib64/libpthread.so (found version "3.1")
-- Found MPI: TRUE (found version "3.1")
-- Sub-project : using iv from from /gpfs/bbp.cscs.ch/home/kumbhar/nn/external/iv
-- Found X11: /usr/lib64/libX11.so
-- Checking for include files
-- Checking for functions
-- Checking for include directories
-- Checking for types
--
-- Configured INTERVIEWS 0.1
--
-- Some things you can do now:
-- --------------+--------------------------------------------------------------
-- Command       |   Description
-- --------------+--------------------------------------------------------------
-- make install  | Will install INTERVIEWS to: /usr/local
--               | Change the install location of NEURON using:
--               |     cmake <src_path> -DCMAKE_INSTALL_PREFIX=<install_path>
-- --------------+--------------------------------------------------------------
-- Build option  | Status
-- --------------+--------------------------------------------------------------
-- BUILD_TYPE    | RelWithDebInfo (allowed: Debug;Release;RelWithDebInfo)
-- SHARED        | OFF
-- X11_DYNAMIC   | OFF
-- --------------+--------------------------------------------------------------
--  See more : https://github.com/neuronsimulator/iv
-- --------------+--------------------------------------------------------------
--
-- Found PythonInterp: /gpfs/bbp.cscs.ch/ssd/apps/hpc/jenkins/deploy/externals/2021-01-06/linux-rhel7-x86_64/gcc-9.3.0/python-3.8.3-suxrst/bin/python3 (found suitable version "3.8.3", minimum required is "3")
-- Found PythonLibs: /gpfs/bbp.cscs.ch/ssd/apps/hpc/jenkins/deploy/externals/2021-01-06/linux-rhel7-x86_64/gcc-9.3.0/python-3.8.3-suxrst/lib/libpython3.8.so
-- Check if compiler accepts -pthread
-- Check if compiler accepts -pthread - yes
-- Found Threads: TRUE
-- Building CoreNEURON from submodule
-- Sub-module : missing /gpfs/bbp.cscs.ch/home/kumbhar/nn/external/coreneuron : running git submodule update --init
Submodule 'external/coreneuron' (https://github.com/BlueBrain/CoreNeuron.git) registered for path 'external/coreneuron'
Cloning into 'external/coreneuron'...
Submodule path 'external/coreneuron': checked out 'aa264c2168fdbad9f3f785dceb0446ec624756c5'
-- Could NOT find HpcCodingConv (missing: HpcCodingConv_PROJ)
-- Sub-module CMake/hpc-coding-conventions missing: running git submodule update --init
Submodule 'CMake/hpc-coding-conventions' (https://github.com/BlueBrain/hpc-coding-conventions.git) registered for path 'CMake/hpc-coding-conventions'
Cloning into 'CMake/hpc-coding-conventions'...
Submodule path 'CMake/hpc-coding-conventions': checked out '2494c8eb72ba13ba90cb1dd3481d88148995d48b'
-- CORENRN_FORMATTING: OFF
-- CORENRN_FORMATTING_ON: all
-- CORENRN_FORMATTING_CPP_CHANGES_ONLY: OFF
-- CORENRN_TEST_FORMATTING: OFF
-- CORENRN_FORMATTING_NO_SUBMODULES: ON
-- CORENRN_CLANG_FORMAT: OFF
-- CORENRN_CMAKE_FORMAT: OFF
-- CORENRN_PRECOMMIT: OFF
-- CORENRN_PRECOMMIT_REGEN: OFF
-- CORENRN_STATIC_ANALYSIS: OFF
-- CORENRN_TEST_STATIC_ANALYSIS: OFF
-- Could NOT find Random123 (missing: Random123_PROJ)
-- Sub-module Random123 missing: running git submodule update --init --recursive
Submodule 'external/Random123' (https://github.com/BlueBrain/Random123.git) registered for path 'external/Random123'
Cloning into 'external/Random123'...
Submodule path 'external/Random123': checked out 'b5cb15614e8f3eb0ff316bdc50c300ddd32fa3c1'
-- Could NOT find CLI11 (missing: CLI11_PROJ)
-- Sub-module CLI11 missing: running git submodule update --init
Submodule 'external/CLI11' (https://github.com/CLIUtils/CLI11.git) registered for path 'external/CLI11'
Cloning into 'external/CLI11'...
Submodule path 'external/CLI11': checked out 'dd0d8e4fe729e5b1110232c7a5c9566dad884686'
-- Found Git: /usr/bin/git (found version "1.8.3.1")
-- Found Doxygen: /usr/bin/doxygen (found version "1.8.5") found components:  doxygen missing components:  dot
-- Found PythonInterp: /gpfs/bbp.cscs.ch/ssd/apps/hpc/jenkins/deploy/externals/2021-01-06/linux-rhel7-x86_64/gcc-9.3.0/python-3.8.3-suxrst/bin/python3 (found version "3.8.3")
-- Found Perl: /usr/bin/perl (found version "5.16.3")
-- Could NOT find MOD2C (missing: MOD2C_PROJ)
-- Sub-module mod2c missing : running git submodule update --init --recursive
Submodule 'external/mod2c' (https://github.com/BlueBrain/mod2c) registered for path 'external/mod2c'
Cloning into 'external/mod2c'...
Submodule path 'external/mod2c': checked out '92d62cc780ec09acde0524246cb34403bcf03fb3'
-- mod2c is used as APPLICATION_NAME
--
-- Configured CoreNEURON 0.21.0
--
-- Some things you can do now:
-- --------------------+--------------------------------------------------------
-- Command             |   Description
-- --------------------+--------------------------------------------------------
-- make install        | Will install CoreNEURON to: /usr/local
-- make docs           | Build full docs. Calls targets: doxygen, sphinx
-- --------------------+--------------------------------------------------------
--  Build option       | Status
-- --------------------+--------------------------------------------------------
-- C COMPILER          | /gpfs/bbp.cscs.ch/ssd/apps/hpc/jenkins/deploy/compilers/2021-01-06/linux-rhel7-x86_64/gcc-4.8.5/intel-20.0.2-ilowey/bin/icc
-- CXX COMPILER        | /gpfs/bbp.cscs.ch/ssd/apps/hpc/jenkins/deploy/compilers/2021-01-06/linux-rhel7-x86_64/gcc-4.8.5/intel-20.0.2-ilowey/bin/icpc
-- COMPILE FLAGS       |  -qopenmp  -Wno-unknown-pragmas -g  -O2  -std=c++14
-- Build Type          | SHARED
-- MPI                 | ON
--   INC               | /gpfs/bbp.cscs.ch/apps/hpc/test/kumbhar/spack-install/hpe-mpi-2.22.hmpt-r52ypu/include
-- OpenMP              | ON
-- Use legacy units    | OFF
-- NMODL               | OFF
-- MOD2CPP PATH        | /gpfs/bbp.cscs.ch/home/kumbhar/nn/build/bin/mod2c_core
-- GPU Support         | OFF
-- Auto Timeout        | ON
-- Wrap exp()          | OFF
-- SplayTree Queue     | ON
-- NetReceive Buffer   | ON
-- Caliper             | OFF
-- Likwid              | OFF
-- Unit Tests          | OFF
-- Reporting           | OFF
-- --------------+--------------------------------------------------------------
--  See documentation : https://github.com/BlueBrain/CoreNeuron/
-- --------------+--------------------------------------------------------------
--
--
-- Configured NEURON 8.0
--
-- Some things you can do now:
-- --------------+--------------------------------------------------------------
-- Command       |   Description
-- --------------+--------------------------------------------------------------
-- make install  | Will install NEURON to: /usr/local
--               | Change the install location of NEURON using:
--               |     cmake <src_path> -DCMAKE_INSTALL_PREFIX=<install_path>
-- make docs     | Build full docs. Calls targets: doxygen, notebooks, sphinx
-- make uninstall| Removes files installed by make install (todo)
-- --------------+--------------------------------------------------------------
--  Build option | Status
-- --------------+--------------------------------------------------------------
-- C COMPILER    | /gpfs/bbp.cscs.ch/ssd/apps/hpc/jenkins/deploy/compilers/2021-01-06/linux-rhel7-x86_64/gcc-4.8.5/intel-20.0.2-ilowey/bin/icc
-- CXX COMPILER  | /gpfs/bbp.cscs.ch/ssd/apps/hpc/jenkins/deploy/compilers/2021-01-06/linux-rhel7-x86_64/gcc-4.8.5/intel-20.0.2-ilowey/bin/icpc
-- BUILD_TYPE    | RelWithDebInfo (allowed: Custom;Debug;Release;RelWithDebInfo;Fast)
-- COMPILE FLAGS | -g  -O2
-- Shared        | ON
-- Binary special| ON
-- Default units | modern units (2019 nist constants)
-- MPI           | ON
--   INC         | /gpfs/bbp.cscs.ch/apps/hpc/test/kumbhar/spack-install/hpe-mpi-2.22.hmpt-r52ypu/include
--   LIB         | /lib64/libpthread.so
--   DYNAMIC     | OFF
-- Python        | ON
--   EXE         | /gpfs/bbp.cscs.ch/ssd/apps/hpc/jenkins/deploy/externals/2021-01-06/linux-rhel7-x86_64/gcc-9.3.0/python-3.8.3-suxrst/bin/python3
--   INC         | /gpfs/bbp.cscs.ch/ssd/apps/hpc/jenkins/deploy/externals/2021-01-06/linux-rhel7-x86_64/gcc-9.3.0/python-3.8.3-suxrst/include/python3.8
--   LIB         | /gpfs/bbp.cscs.ch/ssd/apps/hpc/jenkins/deploy/externals/2021-01-06/linux-rhel7-x86_64/gcc-9.3.0/python-3.8.3-suxrst/lib/libpython3.8.so
--   MODULE      | ON
--   DYNAMIC     | OFF
-- Readline      | /usr/lib64/libreadline.so
-- Curses        | /gpfs/bbp.cscs.ch/ssd/apps/hpc/jenkins/deploy/externals/2021-01-06/linux-rhel7-x86_64/gcc-9.3.0/ncurses-6.2-xvsnay/lib/libcurses.so;/gpfs/bbp.cscs.ch/ssd/apps/hpc/jenkins/deploy/externals/2021-01-06/linux-rhel7-x86_64/gcc-9.3.0/ncurses-6.2-xvsnay/lib/libform.so
-- RX3D          | ON
--   OptLevel    | 0
-- Interviews    | ON
--   PATH        | /gpfs/bbp.cscs.ch/home/kumbhar/nn/external/iv
--   INC         | /gpfs/bbp.cscs.ch/home/kumbhar/nn/external/iv/src/include
--   X11 (INC)   | /usr/include
-- CoreNEURON    | ON
--   PATH        | /gpfs/bbp.cscs.ch/home/kumbhar/nn/external/coreneuron
--   LINK FLAGS  | -Lx86_64 -lcorenrnmech
--   Legacy Units| OFF
-- --------------+--------------------------------------------------------------
--  See documentation : https://www.neuron.yale.edu/neuron/
-- --------------+--------------------------------------------------------------
--
-- Configuring done
-- Generating done
-- Build files have been written to: /gpfs/bbp.cscs.ch/home/kumbhar/nn/build

get stuck with -- Required features: cxx_variadic_templates and Object library target "symtab_obj" may not link to anything.

Only guess could be the older compiler version or something.

I will close this. If you able to reproduce the issue then we will be happy to help in this.