With NEST updated to 3.6 in Fedora, I'm looking into updating PyNN to 0.12.1. However, the compilation of the NEST extensions fails:
error log
```
In file included from /builddir/build/BUILD/PyNN-0.12.1/build/lib/pyNN/nest/extensions/pynn_extensions.cpp:14:
/builddir/build/BUILD/PyNN-0.12.1/build/lib/pyNN/nest/extensions/simple_stochastic_synapse.h:58:20: error: ‘ConnectionModelProperties’ does not name a type
58 | static constexpr ConnectionModelProperties properties = ConnectionModelProperties::HAS_DELAY
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/builddir/build/BUILD/PyNN-0.12.1/build/lib/pyNN/nest/extensions/simple_stochastic_synapse.h:89:15: error: ‘nest::ConnectionBase’ has not been declared
89 | using nest::ConnectionBase::get_delay_steps;
| ^~~~~~~~~~~~~~
/builddir/build/BUILD/PyNN-0.12.1/build/lib/pyNN/nest/extensions/simple_stochastic_synapse.h:90:15: error: ‘nest::ConnectionBase’ has not been declared
90 | using nest::ConnectionBase::get_rport;
| ^~~~~~~~~~~~~~
/builddir/build/BUILD/PyNN-0.12.1/build/lib/pyNN/nest/extensions/simple_stochastic_synapse.h:91:15: error: ‘nest::ConnectionBase’ has not been declared
91 | using nest::ConnectionBase::get_target;
| ^~~~~~~~~~~~~~
/builddir/build/BUILD/PyNN-0.12.1/build/lib/pyNN/nest/extensions/simple_stochastic_synapse.h:182:11: error: ‘ConnectionModelProperties’ does not name a type
182 | constexpr ConnectionModelProperties simple_stochastic_synapse< targetidentifierT >::properties;
| ^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /builddir/build/BUILD/PyNN-0.12.1/build/lib/pyNN/nest/extensions/pynn_extensions.cpp:15:
/builddir/build/BUILD/PyNN-0.12.1/build/lib/pyNN/nest/extensions/stochastic_stp_synapse.h:70:20: error: ‘ConnectionModelProperties’ does not name a type
70 | static constexpr ConnectionModelProperties properties = ConnectionModelProperties::HAS_DELAY
| ^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /builddir/build/BUILD/PyNN-0.12.1/build/lib/pyNN/nest/extensions/pynn_extensions.cpp:14:
/builddir/build/BUILD/PyNN-0.12.1/build/lib/pyNN/nest/extensions/simple_stochastic_synapse.h:58:20: error: ‘ConnectionModelProperties’ does not name a type
58 | static constexpr ConnectionModelProperties properties = ConnectionModelProperties::HAS_DELAY
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/builddir/build/BUILD/PyNN-0.12.1/build/lib/pyNN/nest/extensions/simple_stochastic_synapse.h:89:15: error: ‘nest::ConnectionBase’ has not been declared
89 | using nest::ConnectionBase::get_delay_steps;
| ^~~~~~~~~~~~~~
/builddir/build/BUILD/PyNN-0.12.1/build/lib/pyNN/nest/extensions/simple_stochastic_synapse.h:90:15: error: ‘nest::ConnectionBase’ has not been declared
90 | using nest::ConnectionBase::get_rport;
| ^~~~~~~~~~~~~~
/builddir/build/BUILD/PyNN-0.12.1/build/lib/pyNN/nest/extensions/simple_stochastic_synapse.h:91:15: error: ‘nest::ConnectionBase’ has not been declared
91 | using nest::ConnectionBase::get_target;
| ^~~~~~~~~~~~~~
/builddir/build/BUILD/PyNN-0.12.1/build/lib/pyNN/nest/extensions/stochastic_stp_synapse.h:152:11: error: ‘ConnectionModelProperties’ does not name a type
152 | constexpr ConnectionModelProperties stochastic_stp_synapse< targetidentifierT >::properties;
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/builddir/build/BUILD/PyNN-0.12.1/build/lib/pyNN/nest/extensions/simple_stochastic_synapse.h:182:11: error: ‘ConnectionModelProperties’ does not name a type
182 | constexpr ConnectionModelProperties simple_stochastic_synapse< targetidentifierT >::properties;
| ^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /builddir/build/BUILD/PyNN-0.12.1/build/lib/pyNN/nest/extensions/pynn_extensions.cpp:15:
/builddir/build/BUILD/PyNN-0.12.1/build/lib/pyNN/nest/extensions/stochastic_stp_synapse.h:70:20: error: ‘ConnectionModelProperties’ does not name a type
70 | static constexpr ConnectionModelProperties properties = ConnectionModelProperties::HAS_DELAY
| ^~~~~~~~~~~~~~~~~~~~~~~~~
/builddir/build/BUILD/PyNN-0.12.1/build/lib/pyNN/nest/extensions/stochastic_stp_synapse.h:152:11: error: ‘ConnectionModelProperties’ does not name a type
152 | constexpr ConnectionModelProperties stochastic_stp_synapse< targetidentifierT >::properties;
| ^~~~~~~~~~~~~~~~~~~~~~~~~
gmake[2]: *** [CMakeFiles/pynn_extensions_lib.dir/build.make:79: CMakeFiles/pynn_extensions_lib.dir/pynn_extensions.cpp.o] Error 1
gmake[2]: Leaving directory '/builddir/build/BUILD/PyNN-0.12.1/build/lib/pyNN/nest/extensions/redhat-linux-build'
gmake[1]: *** [CMakeFiles/Makefile2:141: CMakeFiles/pynn_extensions_lib.dir/all] Error 2
gmake[1]: *** Waiting for unfinished jobs....
gmake[2]: Leaving directory '/builddir/build/BUILD/PyNN-0.12.1/build/lib/pyNN/nest/extensions/redhat-linux-build'
gmake[2]: *** [CMakeFiles/pynn_extensions_module.dir/build.make:79: CMakeFiles/pynn_extensions_module.dir/pynn_extensions.cpp.o] Error 1
gmake[1]: Leaving directory '/builddir/build/BUILD/PyNN-0.12.1/build/lib/pyNN/nest/extensions/redhat-linux-build'
gmake[1]: *** [CMakeFiles/Makefile2:115: CMakeFiles/pynn_extensions_module.dir/all] Error 2
gmake: *** [Makefile:159: all] Error 2
```
It looks like something is amiss with includes and/or namespaces. Looking at the first error, it appears those lines were added in 91eb9907b for NEST 3.6. This beyond my (very limited) C/C++ knowledge. Any pointers are greatly appreciated.
Cc: @sanjayankur31 (primary maintainer of PyNN in Fedora)
With NEST updated to 3.6 in Fedora, I'm looking into updating PyNN to 0.12.1. However, the compilation of the NEST extensions fails:
error log
``` In file included from /builddir/build/BUILD/PyNN-0.12.1/build/lib/pyNN/nest/extensions/pynn_extensions.cpp:14: /builddir/build/BUILD/PyNN-0.12.1/build/lib/pyNN/nest/extensions/simple_stochastic_synapse.h:58:20: error: ‘ConnectionModelProperties’ does not name a type 58 | static constexpr ConnectionModelProperties properties = ConnectionModelProperties::HAS_DELAY | ^~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/PyNN-0.12.1/build/lib/pyNN/nest/extensions/simple_stochastic_synapse.h:89:15: error: ‘nest::ConnectionBase’ has not been declared 89 | using nest::ConnectionBase::get_delay_steps; | ^~~~~~~~~~~~~~ /builddir/build/BUILD/PyNN-0.12.1/build/lib/pyNN/nest/extensions/simple_stochastic_synapse.h:90:15: error: ‘nest::ConnectionBase’ has not been declared 90 | using nest::ConnectionBase::get_rport; | ^~~~~~~~~~~~~~ /builddir/build/BUILD/PyNN-0.12.1/build/lib/pyNN/nest/extensions/simple_stochastic_synapse.h:91:15: error: ‘nest::ConnectionBase’ has not been declared 91 | using nest::ConnectionBase::get_target; | ^~~~~~~~~~~~~~ /builddir/build/BUILD/PyNN-0.12.1/build/lib/pyNN/nest/extensions/simple_stochastic_synapse.h:182:11: error: ‘ConnectionModelProperties’ does not name a type 182 | constexpr ConnectionModelProperties simple_stochastic_synapse< targetidentifierT >::properties; | ^~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /builddir/build/BUILD/PyNN-0.12.1/build/lib/pyNN/nest/extensions/pynn_extensions.cpp:15: /builddir/build/BUILD/PyNN-0.12.1/build/lib/pyNN/nest/extensions/stochastic_stp_synapse.h:70:20: error: ‘ConnectionModelProperties’ does not name a type 70 | static constexpr ConnectionModelProperties properties = ConnectionModelProperties::HAS_DELAY | ^~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /builddir/build/BUILD/PyNN-0.12.1/build/lib/pyNN/nest/extensions/pynn_extensions.cpp:14: /builddir/build/BUILD/PyNN-0.12.1/build/lib/pyNN/nest/extensions/simple_stochastic_synapse.h:58:20: error: ‘ConnectionModelProperties’ does not name a type 58 | static constexpr ConnectionModelProperties properties = ConnectionModelProperties::HAS_DELAY | ^~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/PyNN-0.12.1/build/lib/pyNN/nest/extensions/simple_stochastic_synapse.h:89:15: error: ‘nest::ConnectionBase’ has not been declared 89 | using nest::ConnectionBase::get_delay_steps; | ^~~~~~~~~~~~~~ /builddir/build/BUILD/PyNN-0.12.1/build/lib/pyNN/nest/extensions/simple_stochastic_synapse.h:90:15: error: ‘nest::ConnectionBase’ has not been declared 90 | using nest::ConnectionBase::get_rport; | ^~~~~~~~~~~~~~ /builddir/build/BUILD/PyNN-0.12.1/build/lib/pyNN/nest/extensions/simple_stochastic_synapse.h:91:15: error: ‘nest::ConnectionBase’ has not been declared 91 | using nest::ConnectionBase::get_target; | ^~~~~~~~~~~~~~ /builddir/build/BUILD/PyNN-0.12.1/build/lib/pyNN/nest/extensions/stochastic_stp_synapse.h:152:11: error: ‘ConnectionModelProperties’ does not name a type 152 | constexpr ConnectionModelProperties stochastic_stp_synapse< targetidentifierT >::properties; | ^~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/PyNN-0.12.1/build/lib/pyNN/nest/extensions/simple_stochastic_synapse.h:182:11: error: ‘ConnectionModelProperties’ does not name a type 182 | constexpr ConnectionModelProperties simple_stochastic_synapse< targetidentifierT >::properties; | ^~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /builddir/build/BUILD/PyNN-0.12.1/build/lib/pyNN/nest/extensions/pynn_extensions.cpp:15: /builddir/build/BUILD/PyNN-0.12.1/build/lib/pyNN/nest/extensions/stochastic_stp_synapse.h:70:20: error: ‘ConnectionModelProperties’ does not name a type 70 | static constexpr ConnectionModelProperties properties = ConnectionModelProperties::HAS_DELAY | ^~~~~~~~~~~~~~~~~~~~~~~~~ /builddir/build/BUILD/PyNN-0.12.1/build/lib/pyNN/nest/extensions/stochastic_stp_synapse.h:152:11: error: ‘ConnectionModelProperties’ does not name a type 152 | constexpr ConnectionModelProperties stochastic_stp_synapse< targetidentifierT >::properties; | ^~~~~~~~~~~~~~~~~~~~~~~~~ gmake[2]: *** [CMakeFiles/pynn_extensions_lib.dir/build.make:79: CMakeFiles/pynn_extensions_lib.dir/pynn_extensions.cpp.o] Error 1 gmake[2]: Leaving directory '/builddir/build/BUILD/PyNN-0.12.1/build/lib/pyNN/nest/extensions/redhat-linux-build' gmake[1]: *** [CMakeFiles/Makefile2:141: CMakeFiles/pynn_extensions_lib.dir/all] Error 2 gmake[1]: *** Waiting for unfinished jobs.... gmake[2]: Leaving directory '/builddir/build/BUILD/PyNN-0.12.1/build/lib/pyNN/nest/extensions/redhat-linux-build' gmake[2]: *** [CMakeFiles/pynn_extensions_module.dir/build.make:79: CMakeFiles/pynn_extensions_module.dir/pynn_extensions.cpp.o] Error 1 gmake[1]: Leaving directory '/builddir/build/BUILD/PyNN-0.12.1/build/lib/pyNN/nest/extensions/redhat-linux-build' gmake[1]: *** [CMakeFiles/Makefile2:115: CMakeFiles/pynn_extensions_module.dir/all] Error 2 gmake: *** [Makefile:159: all] Error 2 ```It looks like something is amiss with includes and/or namespaces. Looking at the first error, it appears those lines were added in 91eb9907b for NEST 3.6. This beyond my (very limited) C/C++ knowledge. Any pointers are greatly appreciated.
Cc: @sanjayankur31 (primary maintainer of PyNN in Fedora)