Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[0.9.6] nest extension: doc generation in CMakeLists.txt #704

Open
sanjayankur31 opened this issue Jan 11, 2021 · 3 comments
Open

[0.9.6] nest extension: doc generation in CMakeLists.txt #704

sanjayankur31 opened this issue Jan 11, 2021 · 3 comments
Milestone

Comments

@sanjayankur31
Copy link
Contributor

Hello,

While building version 0.9.6 from source for inclusion in NeuroFedora, I get this error:

CMake Error: Error processing file: /usr/share/doc/nest/generate_help.cmake

I checked my NEST installation, and I don't see a generate_help.cmake file there. I also grepped the travis log and the NEST build there doesn't seem to include this file either. So I was wondering if the CMakeLists.txt bit on installing nest extension documentation still relevant?

set( HELPDIRS "${PROJECT_SOURCE_DIR}:${PROJECT_SOURCE_DIR}/sli" )

@apdavison
Copy link
Member

Hi @sanjayankur31

How are you building it? i.e. how can I reproduce this error?

@sanjayankur31
Copy link
Contributor Author

Hi @apdavison :

I'm entering the nest extensions folder and running the standard cmake commands :

cmake .
cmake --build .
cmake --install .

Here's an example run against master (377787c):

(ins)[asinha@ankur  PyNN(master=)]$ cd pyNN/nest/extensions/
(ins)[asinha@ankur  extensions(master=)]$ ls
CMakeLists.txt  pynn_extensions.cpp  pynn_extensions.h  simple_stochastic_connection.h  sli  stochastic_stp_connection.h  stochastic_stp_connection_impl.h
(ins)[asinha@ankur  extensions(master=)]$ mkdir build
(ins)[asinha@ankur  extensions(master=)]$ cd build/
(ins)[asinha@ankur  build(master=)]$ cmake ../
-- The CXX compiler identification is GNU 10.2.1
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/g++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done

-------------------------------------------------------
pynn_extensions Configuration Summary
-------------------------------------------------------

C++ compiler         : /usr/bin/g++
Build static libs    : OFF
C++ compiler flags   : -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection
NEST compiler flags  : -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -std=c++11 -O2 -Wall -fopenmp -fdiagnostics-color=auto
NEST include dirs    : -I/builddir/build/BUILD/nest-simulator-2.20.1/nest-simulator-2.20.1/conngen  -I/usr/include/nest -I/usr/include -I/usr/include -I/usr/include -I/usr/include
NEST libraries flags : -L/usr//usr/lib64 -lconngen -lnestutil -lnest -lrandom -lsli -lnestkernel -ltopology -fopenmp /lib64/libltdl.so /lib64/libreadline.so /lib64/libncurses.so /usr/lib64/libgsl.so /usr/lib64/libgslcblas.so /usr/lib64/libneurosim.so /usr/lib64/libpy3neurosim.so

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

You can build and install pynn_extensions now, using
  make
  make install

pynn_extensions will be installed to: /usr/lib64/nest

-- Configuring done
-- Generating done
-- Build files have been written to: /home/asinha/Documents/02_Code/01_others/PyNN/pyNN/nest/extensions/build

(ins)[asinha@ankur  build(master=)]$ cmake --build .
Scanning dependencies of target pynn_extensions_lib
[ 25%] Building CXX object CMakeFiles/pynn_extensions_lib.dir/pynn_extensions.cpp.o
[ 50%] Linking CXX shared library libpynn_extensions.so
[ 50%] Built target pynn_extensions_lib
Scanning dependencies of target pynn_extensions_module
[ 75%] Building CXX object CMakeFiles/pynn_extensions_module.dir/pynn_extensions.cpp.o
[100%] Linking CXX shared module pynn_extensions.so
[100%] Built target pynn_extensions_module

(ins)[asinha@ankur  build(master=)]$ DESTDIR=/home/asinha/dump/cmake-test/ cmake --install .
-- Install configuration: ""
-- Installing: /home/asinha/dump/cmake-test/usr/lib64/nest/pynn_extensions.so
-- Installing: /home/asinha/dump/cmake-test/usr/lib64/nest/libpynn_extensions.so
-- Installing: /home/asinha/dump/cmake-test/usr/include/pynn_extensions.h
-- Installing: /home/asinha/dump/cmake-test/usr/share/nest/sli
-- Installing: /home/asinha/dump/cmake-test/usr/share/nest/sli/pynn_extensions-init.sli
CMake Error: Error processing file: /usr/share/doc/nest/generate_help.cmake

I also get this if I run sudo python setup.py build in the root directory. (Expected since my NEST installation does not have a
generate_help.cmake file):

$ 
(ins)(.venv) [asinha@ankur  PyNN(master *%=)]$ sudo python setup.py build
[sudo] password for asinha:
/usr/lib/python3.9/site-packages/setuptools/dist.py:458: UserWarning: Normalizing '0.10.0.dev' to '0.10.0.dev0'
  warnings.warn(tmpl.format(**locals()))
running build
running build_py
creating build
creating build/lib
creating build/lib/pyNN
copying pyNN/models.py -> build/lib/pyNN
copying pyNN/network.py -> build/lib/pyNN
copying pyNN/__init__.py -> build/lib/pyNN
copying pyNN/errors.py -> build/lib/pyNN
copying pyNN/random.py -> build/lib/pyNN
copying pyNN/parameters.py -> build/lib/pyNN
copying pyNN/multisim.py -> build/lib/pyNN
copying pyNN/connectors.py -> build/lib/pyNN
copying pyNN/space.py -> build/lib/pyNN
copying pyNN/core.py -> build/lib/pyNN
creating build/lib/pyNN/nest
copying pyNN/nest/synapses.py -> build/lib/pyNN/nest
copying pyNN/nest/__init__.py -> build/lib/pyNN/nest
copying pyNN/nest/random.py -> build/lib/pyNN/nest
copying pyNN/nest/simulator.py -> build/lib/pyNN/nest
copying pyNN/nest/cells.py -> build/lib/pyNN/nest
copying pyNN/nest/conversion.py -> build/lib/pyNN/nest
copying pyNN/nest/recording.py -> build/lib/pyNN/nest
copying pyNN/nest/nineml.py -> build/lib/pyNN/nest
copying pyNN/nest/connectors.py -> build/lib/pyNN/nest
copying pyNN/nest/projections.py -> build/lib/pyNN/nest
copying pyNN/nest/electrodes.py -> build/lib/pyNN/nest
copying pyNN/nest/populations.py -> build/lib/pyNN/nest
creating build/lib/pyNN/neuron
copying pyNN/neuron/__init__.py -> build/lib/pyNN/neuron
copying pyNN/neuron/random.py -> build/lib/pyNN/neuron
copying pyNN/neuron/simulator.py -> build/lib/pyNN/neuron
copying pyNN/neuron/cells.py -> build/lib/pyNN/neuron
copying pyNN/neuron/recording.py -> build/lib/pyNN/neuron
copying pyNN/neuron/nineml.py -> build/lib/pyNN/neuron
copying pyNN/neuron/connectors.py -> build/lib/pyNN/neuron
copying pyNN/neuron/projections.py -> build/lib/pyNN/neuron
copying pyNN/neuron/populations.py -> build/lib/pyNN/neuron
creating build/lib/pyNN/brian2
copying pyNN/brian2/__init__.py -> build/lib/pyNN/brian2
copying pyNN/brian2/simulator.py -> build/lib/pyNN/brian2
copying pyNN/brian2/cells.py -> build/lib/pyNN/brian2
copying pyNN/brian2/recording.py -> build/lib/pyNN/brian2
copying pyNN/brian2/projections.py -> build/lib/pyNN/brian2
copying pyNN/brian2/populations.py -> build/lib/pyNN/brian2
creating build/lib/pyNN/common
copying pyNN/common/__init__.py -> build/lib/pyNN/common
copying pyNN/common/procedural_api.py -> build/lib/pyNN/common
copying pyNN/common/projections.py -> build/lib/pyNN/common
copying pyNN/common/control.py -> build/lib/pyNN/common
copying pyNN/common/populations.py -> build/lib/pyNN/common
creating build/lib/pyNN/mock
copying pyNN/mock/__init__.py -> build/lib/pyNN/mock
copying pyNN/mock/simulator.py -> build/lib/pyNN/mock
copying pyNN/mock/standardmodels.py -> build/lib/pyNN/mock
copying pyNN/mock/recording.py -> build/lib/pyNN/mock
copying pyNN/mock/projections.py -> build/lib/pyNN/mock
copying pyNN/mock/populations.py -> build/lib/pyNN/mock
creating build/lib/pyNN/neuroml
copying pyNN/neuroml/__init__.py -> build/lib/pyNN/neuroml
copying pyNN/neuroml/simulator.py -> build/lib/pyNN/neuroml
copying pyNN/neuroml/recording.py -> build/lib/pyNN/neuroml
copying pyNN/neuroml/projections.py -> build/lib/pyNN/neuroml
copying pyNN/neuroml/populations.py -> build/lib/pyNN/neuroml
creating build/lib/pyNN/recording
copying pyNN/recording/__init__.py -> build/lib/pyNN/recording
copying pyNN/recording/files.py -> build/lib/pyNN/recording
creating build/lib/pyNN/standardmodels
copying pyNN/standardmodels/synapses.py -> build/lib/pyNN/standardmodels
copying pyNN/standardmodels/__init__.py -> build/lib/pyNN/standardmodels
copying pyNN/standardmodels/cells.py -> build/lib/pyNN/standardmodels
copying pyNN/standardmodels/electrodes.py -> build/lib/pyNN/standardmodels
creating build/lib/pyNN/descriptions
copying pyNN/descriptions/__init__.py -> build/lib/pyNN/descriptions
creating build/lib/pyNN/nest/standardmodels
copying pyNN/nest/standardmodels/synapses.py -> build/lib/pyNN/nest/standardmodels
copying pyNN/nest/standardmodels/__init__.py -> build/lib/pyNN/nest/standardmodels
copying pyNN/nest/standardmodels/cells.py -> build/lib/pyNN/nest/standardmodels
copying pyNN/nest/standardmodels/electrodes.py -> build/lib/pyNN/nest/standardmodels
creating build/lib/pyNN/neuroml/standardmodels
copying pyNN/neuroml/standardmodels/synapses.py -> build/lib/pyNN/neuroml/standardmodels
copying pyNN/neuroml/standardmodels/__init__.py -> build/lib/pyNN/neuroml/standardmodels
copying pyNN/neuroml/standardmodels/cells.py -> build/lib/pyNN/neuroml/standardmodels
copying pyNN/neuroml/standardmodels/electrodes.py -> build/lib/pyNN/neuroml/standardmodels
creating build/lib/pyNN/neuron/standardmodels
copying pyNN/neuron/standardmodels/synapses.py -> build/lib/pyNN/neuron/standardmodels
copying pyNN/neuron/standardmodels/__init__.py -> build/lib/pyNN/neuron/standardmodels
copying pyNN/neuron/standardmodels/cells.py -> build/lib/pyNN/neuron/standardmodels
copying pyNN/neuron/standardmodels/electrodes.py -> build/lib/pyNN/neuron/standardmodels
creating build/lib/pyNN/brian2/standardmodels
copying pyNN/brian2/standardmodels/synapses.py -> build/lib/pyNN/brian2/standardmodels
copying pyNN/brian2/standardmodels/__init__.py -> build/lib/pyNN/brian2/standardmodels
copying pyNN/brian2/standardmodels/cells.py -> build/lib/pyNN/brian2/standardmodels
copying pyNN/brian2/standardmodels/electrodes.py -> build/lib/pyNN/brian2/standardmodels
creating build/lib/pyNN/utility
copying pyNN/utility/plotting.py -> build/lib/pyNN/utility
copying pyNN/utility/__init__.py -> build/lib/pyNN/utility
creating build/lib/pyNN/nineml
copying pyNN/nineml/synapses.py -> build/lib/pyNN/nineml
copying pyNN/nineml/__init__.py -> build/lib/pyNN/nineml
copying pyNN/nineml/simulator.py -> build/lib/pyNN/nineml
copying pyNN/nineml/cells.py -> build/lib/pyNN/nineml
copying pyNN/nineml/standardmodels.py -> build/lib/pyNN/nineml
copying pyNN/nineml/recording.py -> build/lib/pyNN/nineml
copying pyNN/nineml/utility.py -> build/lib/pyNN/nineml
copying pyNN/nineml/connectors.py -> build/lib/pyNN/nineml
copying pyNN/nineml/projections.py -> build/lib/pyNN/nineml
copying pyNN/nineml/read.py -> build/lib/pyNN/nineml
copying pyNN/nineml/populations.py -> build/lib/pyNN/nineml
creating build/lib/pyNN/serialization
copying pyNN/serialization/__init__.py -> build/lib/pyNN/serialization
copying pyNN/serialization/sonata.py -> build/lib/pyNN/serialization
creating build/lib/pyNN/neuron/nmodl
copying pyNN/neuron/nmodl/adexp.mod -> build/lib/pyNN/neuron/nmodl
copying pyNN/neuron/nmodl/vecstim.mod -> build/lib/pyNN/neuron/nmodl
copying pyNN/neuron/nmodl/stdwa_guetig.mod -> build/lib/pyNN/neuron/nmodl
copying pyNN/neuron/nmodl/stochastic_tsodyksmarkram.mod -> build/lib/pyNN/neuron/nmodl
copying pyNN/neuron/nmodl/tmgsyn.mod -> build/lib/pyNN/neuron/nmodl
copying pyNN/neuron/nmodl/poisson_stim_refractory.mod -> build/lib/pyNN/neuron/nmodl
copying pyNN/neuron/nmodl/gammastim.mod -> build/lib/pyNN/neuron/nmodl
copying pyNN/neuron/nmodl/expisyn.mod -> build/lib/pyNN/neuron/nmodl
copying pyNN/neuron/nmodl/gsfa_grr.mod -> build/lib/pyNN/neuron/nmodl
copying pyNN/neuron/nmodl/stochastic_synapse.mod -> build/lib/pyNN/neuron/nmodl
copying pyNN/neuron/nmodl/stdwa_songabbott.mod -> build/lib/pyNN/neuron/nmodl
copying pyNN/neuron/nmodl/izhikevich.mod -> build/lib/pyNN/neuron/nmodl
copying pyNN/neuron/nmodl/stdwa_softlimits.mod -> build/lib/pyNN/neuron/nmodl
copying pyNN/neuron/nmodl/gap.mod -> build/lib/pyNN/neuron/nmodl
copying pyNN/neuron/nmodl/tsodyksmarkram.mod -> build/lib/pyNN/neuron/nmodl
copying pyNN/neuron/nmodl/hh_traub.mod -> build/lib/pyNN/neuron/nmodl
copying pyNN/neuron/nmodl/alphasyn.mod -> build/lib/pyNN/neuron/nmodl
copying pyNN/neuron/nmodl/refrac.mod -> build/lib/pyNN/neuron/nmodl
copying pyNN/neuron/nmodl/tmisyn.mod -> build/lib/pyNN/neuron/nmodl
copying pyNN/neuron/nmodl/reset.mod -> build/lib/pyNN/neuron/nmodl
copying pyNN/neuron/nmodl/stdwa_symm.mod -> build/lib/pyNN/neuron/nmodl
copying pyNN/neuron/nmodl/gif.mod -> build/lib/pyNN/neuron/nmodl
copying pyNN/neuron/nmodl/stdwa_vogels2011.mod -> build/lib/pyNN/neuron/nmodl
copying pyNN/neuron/nmodl/quantal_stp.mod -> build/lib/pyNN/neuron/nmodl
copying pyNN/neuron/nmodl/netstim2.mod -> build/lib/pyNN/neuron/nmodl
copying pyNN/neuron/nmodl/alphaisyn.mod -> build/lib/pyNN/neuron/nmodl
creating build/lib/pyNN/nest/extensions
copying pyNN/nest/extensions/simple_stochastic_connection.h -> build/lib/pyNN/nest/extensions
copying pyNN/nest/extensions/stochastic_stp_connection.h -> build/lib/pyNN/nest/extensions
copying pyNN/nest/extensions/stochastic_stp_connection_impl.h -> build/lib/pyNN/nest/extensions
copying pyNN/nest/extensions/pynn_extensions.h -> build/lib/pyNN/nest/extensions
copying pyNN/nest/extensions/pynn_extensions.cpp -> build/lib/pyNN/nest/extensions
copying pyNN/nest/extensions/CMakeLists.txt -> build/lib/pyNN/nest/extensions
creating build/lib/pyNN/nest/extensions/sli
copying pyNN/nest/extensions/sli/pynn_extensions-init.sli -> build/lib/pyNN/nest/extensions/sli
creating build/lib/pyNN/descriptions/templates
creating build/lib/pyNN/descriptions/templates/jinja2
copying pyNN/descriptions/templates/jinja2/population_old.txt -> build/lib/pyNN/descriptions/templates/jinja2
copying pyNN/descriptions/templates/jinja2/population_default.txt -> build/lib/pyNN/descriptions/templates/jinja2
copying pyNN/descriptions/templates/jinja2/projection_default.txt -> build/lib/pyNN/descriptions/templates/jinja2
copying pyNN/descriptions/templates/jinja2/assembly_default.txt -> build/lib/pyNN/descriptions/templates/jinja2
copying pyNN/descriptions/templates/jinja2/synapsedynamics_default.txt -> build/lib/pyNN/descriptions/templates/jinja2
copying pyNN/descriptions/templates/jinja2/modeltype_default.txt -> build/lib/pyNN/descriptions/templates/jinja2
copying pyNN/descriptions/templates/jinja2/populationview_default.txt -> build/lib/pyNN/descriptions/templates/jinja2
creating build/lib/pyNN/descriptions/templates/cheetah
copying pyNN/descriptions/templates/cheetah/population_old.txt -> build/lib/pyNN/descriptions/templates/cheetah
copying pyNN/descriptions/templates/cheetah/population_default.txt -> build/lib/pyNN/descriptions/templates/cheetah
copying pyNN/descriptions/templates/cheetah/projection_default.txt -> build/lib/pyNN/descriptions/templates/cheetah
copying pyNN/descriptions/templates/cheetah/assembly_default.txt -> build/lib/pyNN/descriptions/templates/cheetah
copying pyNN/descriptions/templates/cheetah/synapsedynamics_default.txt -> build/lib/pyNN/descriptions/templates/cheetah
copying pyNN/descriptions/templates/cheetah/modeltype_default.txt -> build/lib/pyNN/descriptions/templates/cheetah
copying pyNN/descriptions/templates/cheetah/populationview_default.txt -> build/lib/pyNN/descriptions/templates/cheetah
creating build/lib/pyNN/descriptions/templates/string
copying pyNN/descriptions/templates/string/population_default.txt -> build/lib/pyNN/descriptions/templates/string
copying pyNN/descriptions/templates/string/projection_default.txt -> build/lib/pyNN/descriptions/templates/string
copying pyNN/descriptions/templates/string/assembly_default.txt -> build/lib/pyNN/descriptions/templates/string
copying pyNN/descriptions/templates/string/synapsedynamics_default.txt -> build/lib/pyNN/descriptions/templates/string
copying pyNN/descriptions/templates/string/modeltype_default.txt -> build/lib/pyNN/descriptions/templates/string
copying pyNN/descriptions/templates/string/populationview_default.txt -> build/lib/pyNN/descriptions/templates/string
Unable to find nrnivmodl. It will not be possible to use the pyNN.neuron module.
nest-config found at /usr/bin/nest-config
  -- The CXX compiler identification is GNU 10.2.1
  -- Detecting CXX compiler ABI info
  -- Detecting CXX compiler ABI info - done
  -- Check for working CXX compiler: /usr/bin/g++ - skipped
  -- Detecting CXX compile features
  -- Detecting CXX compile features - done

  -------------------------------------------------------
  pynn_extensions Configuration Summary
  -------------------------------------------------------

  C++ compiler         : /usr/bin/g++
  Build static libs    : OFF
  C++ compiler flags   :
  NEST compiler flags  : -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -std=c++11 -O2 -Wall -fopenmp -fdiagnostics-color=auto
  NEST include dirs    : -I/builddir/build/BUILD/nest-simulator-2.20.1/nest-simulator-2.20.1/conngen  -I/usr/include/nest -I/usr/include -I/usr/include -I/usr/include -I/usr/include
  NEST libraries flags : -L/usr//usr/lib64 -lconngen -lnestutil -lnest -lrandom -lsli -lnestkernel -ltopology -fopenmp /lib64/libltdl.so /lib64/libreadline.so /lib64/libncurses.so /usr/lib64/libgsl.so /usr/lib64/libgslcblas.so /usr/lib64/libneurosim.so /usr/lib64/libpy3neurosim.so

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

  You can build and install pynn_extensions now, using
    make
    make install

  pynn_extensions will be installed to: /usr/lib64/nest

  -- Configuring done
  -- Generating done
  -- Build files have been written to: /home/asinha/Documents/02_Code/01_others/PyNN/build/lib/pyNN/nest/_build

  Scanning dependencies of target pynn_extensions_lib
  [ 25%] Building CXX object CMakeFiles/pynn_extensions_lib.dir/pynn_extensions.cpp.o
  [ 50%] Linking CXX shared library libpynn_extensions.so
  [ 50%] Built target pynn_extensions_lib
  Scanning dependencies of target pynn_extensions_module
  [ 75%] Building CXX object CMakeFiles/pynn_extensions_module.dir/pynn_extensions.cpp.o
  [100%] Linking CXX shared module pynn_extensions.so
  [100%] Built target pynn_extensions_module

  [ 50%] Built target pynn_extensions_lib
  [100%] Built target pynn_extensions_module
  Install the project...
  -- Install configuration: ""
  -- Installing: /usr/lib64/nest/pynn_extensions.so
  -- Installing: /usr/lib64/nest/libpynn_extensions.so
  -- Installing: /usr/include/pynn_extensions.h
  -- Up-to-date: /usr/share/nest/sli
  -- Installing: /usr/share/nest/sli/pynn_extensions-init.sli
  CMake Error: Error processing file: /usr/share/doc/nest/generate_help.cmake

Successfully compiled NEST extensions.

I've rebuilt my NEST installation from scratch too and a generate_help.cmake file isn't generated or installed during the build here.

@sanjayankur31
Copy link
Contributor Author

Dug around a bit more. Looks like generate_help.cmake bit was removed in favour of python based help generation in this commit:

nest/nest-simulator@db0e3d7

The example CMakeLists.txt file was updated too:

nest/nest-simulator@db0e3d7#diff-d42b9b3d193317396a8f276754f716a1eccd6b96bb88581750ef3933190d72a2L271

@apdavison apdavison added this to the future milestone Dec 1, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants