Dear experts,

To develop a spiking neuronal network model of the thalamus, I want to adapt the Izhikevich neuron model to account for the behavior of thalamocortical neurons. Before I do this, I wanted to test if it was possible to install an extension module in my setup. Therefore I followed these steps: https://nest-extension-module.readthedocs.io/en/latest/extension_modules.html to install this example nest-extension-module: https://github.com/nest/nest-extension-module

I am working with the tvb-multiscale docker container (https://github.com/the-virtual-brain/tvb-multiscale/tree/master/tvb_multiscale/tvb_nest) in VScode on windows. I've been working with this succesfully and easily managed to make thalamus models with the available aeIF neuron model of NEST. I'm using a python 3.7.3 interpreter and NEST 3. 

I've succesfully "made" the module with:
docker@84fabd16af99:~/mmb$ cmake -Dwith-nest=/home/docker/env/neurosci/nest_build/bin/nest-config ../nest-extension-module-master
It gives me the message:
You can now build and install 'mymodule' using
  make
  make install
The library file libmymodule.so will be installed to
  /home/docker/env/neurosci/nest_build/lib/nest/
Help files will be installed to
  /home/docker/env/neurosci/nest_build/share/doc/nest
The module can be loaded into NEST using
  nest.Install('mymodule')  (in PyNEST)
  (mymodule) Install        (in SLI
-- Configuring done
-- Generating done
-- Build files have been written to: /home/docker/mmb

However, when I try to "make". I get a bunch of errors that I have added at the end of this email. My colleague tried to install exactly the same module in exactly the same way on his linux machine and it worked perfectly.  But somehow for me, I get these weird errors that I haven't been able to resolve so far. Does anyone have an idea what the problem might be? It would be greatly appreciated. If you need any additional information please let me know. 

Thank you in advance and have a nice day!
Kind regards,
Nina Doorn


Error message:

docker@84fabd16af99:~/mmb$ make
Scanning dependencies of target mymodule_module
[ 10%] Building CXX object src/CMakeFiles/mymodule_module.dir/mymodule.cpp.o
In file included from /home/docker/nest-extension-module-master/src/mymodule.cpp:30:
/home/docker/nest-extension-module-master/src/pif_psc_alpha.h:92:1: error: expected class-name before ‘{’ token
 {
 ^
/home/docker/nest-extension-module-master/src/pif_psc_alpha.h:115:21: error: type ‘nest::Node’ is not a base type for type ‘mynest::pif_psc_alpha’
   using nest::Node::handle;
                     ^~~~~~
/home/docker/nest-extension-module-master/src/pif_psc_alpha.h:116:21: error: type ‘nest::Node’ is not a base type for type ‘mynest::pif_psc_alpha’
   using nest::Node::handles_test_event;
                     ^~~~~~~~~~~~~~~~~~
/home/docker/nest-extension-module-master/src/pif_psc_alpha.h:121:14: error: ‘nest::port mynest::pif_psc_alpha::send_test_event(nest::Node&, nest::port, nest::synindex, bool)’ marked ‘override’, but does not override
   nest::port send_test_event( nest::Node&, nest::port, nest::synindex, bool ) override;
              ^~~~~~~~~~~~~~~
/home/docker/nest-extension-module-master/src/pif_psc_alpha.h:129:8: error: ‘void mynest::pif_psc_alpha::handle(nest::SpikeEvent&)’ marked ‘override’, but does not override
   void handle( nest::SpikeEvent& ) override;         //! accept spikes
        ^~~~~~
/home/docker/nest-extension-module-master/src/pif_psc_alpha.h:130:8: error: ‘void mynest::pif_psc_alpha::handle(nest::CurrentEvent&)’ marked ‘override’, but does not override
   void handle( nest::CurrentEvent& ) override;       //! accept input current
        ^~~~~~
/home/docker/nest-extension-module-master/src/pif_psc_alpha.h:131:8: error: ‘void mynest::pif_psc_alpha::handle(nest::DataLoggingRequest&)’ marked ‘override’, but does not override
   void handle( nest::DataLoggingRequest& ) override; //! allow recording with multimeter
        ^~~~~~
/home/docker/nest-extension-module-master/src/pif_psc_alpha.h:133:14: error: ‘nest::port mynest::pif_psc_alpha::handles_test_event(nest::SpikeEvent&, nest::port)’ marked ‘override’, but does not override
   nest::port handles_test_event( nest::SpikeEvent&, nest::port ) override;
              ^~~~~~~~~~~~~~~~~~
/home/docker/nest-extension-module-master/src/pif_psc_alpha.h:134:14: error: ‘nest::port mynest::pif_psc_alpha::handles_test_event(nest::CurrentEvent&, nest::port)’ marked ‘override’, but does not override
   nest::port handles_test_event( nest::CurrentEvent&, nest::port ) override;
              ^~~~~~~~~~~~~~~~~~
/home/docker/nest-extension-module-master/src/pif_psc_alpha.h:135:14: error: ‘nest::port mynest::pif_psc_alpha::handles_test_event(nest::DataLoggingRequest&, nest::port)’ marked ‘override’, but does not override
   nest::port handles_test_event( nest::DataLoggingRequest&, nest::port ) override;
              ^~~~~~~~~~~~~~~~~~
/home/docker/nest-extension-module-master/src/pif_psc_alpha.h:138:8: error: ‘void mynest::pif_psc_alpha::get_status(DictionaryDatum&) const’ marked ‘override’, but does not override
   void get_status( DictionaryDatum& ) const override;
        ^~~~~~~~~~
/home/docker/nest-extension-module-master/src/pif_psc_alpha.h:139:8: error: ‘void mynest::pif_psc_alpha::set_status(const DictionaryDatum&)’ marked ‘override’, but does not override
   void set_status( const DictionaryDatum& ) override;
        ^~~~~~~~~~
/home/docker/nest-extension-module-master/src/pif_psc_alpha.h:143:8: error: ‘void mynest::pif_psc_alpha::init_buffers_()’ marked ‘override’, but does not override
   void init_buffers_() override;
        ^~~~~~~~~~~~~
/home/docker/nest-extension-module-master/src/pif_psc_alpha.h:146:8: error: ‘void mynest::pif_psc_alpha::calibrate()’ marked ‘override’, but does not override
   void calibrate() override;
        ^~~~~~~~~
/home/docker/nest-extension-module-master/src/pif_psc_alpha.h:149:8: error: ‘void mynest::pif_psc_alpha::update(const nest::Time&, long int, long int)’ marked ‘override’, but does not override
   void update( nest::Time const&, const long, const long ) override;
        ^~~~~~
/home/docker/nest-extension-module-master/src/pif_psc_alpha.h: In member function ‘nest::port mynest::pif_psc_alpha::send_test_event(nest::Node&, nest::port, nest::synindex, bool)’:
/home/docker/nest-extension-module-master/src/pif_psc_alpha.h:324:23: error: no matching function for call to ‘nest::SpikeEvent::set_sender(mynest::pif_psc_alpha&)’
   e.set_sender( *this );
                       ^
In file included from /home/docker/env/neurosci/nest_build/include/nest/connector_model.h:34,
                 from /home/docker/env/neurosci/nest_build/include/nest/common_synapse_properties.h:27,
                 from /home/docker/env/neurosci/nest_build/include/nest/connection.h:27,
                 from /home/docker/nest-extension-module-master/src/drop_odd_spike_connection.h:27,
                 from /home/docker/nest-extension-module-master/src/mymodule.cpp:29:
/home/docker/env/neurosci/nest_build/include/nest/event.h:1288:1: note: candidate: ‘void nest::Event::set_sender(nest::Node&)’
 Event::set_sender( Node& s )
 ^~~~~
/home/docker/env/neurosci/nest_build/include/nest/event.h:1288:1: note:   no known conversion for argument 1 from ‘mynest::pif_psc_alpha’ to ‘nest::Node&’
In file included from /home/docker/nest-extension-module-master/src/mymodule.cpp:30:
/home/docker/nest-extension-module-master/src/pif_psc_alpha.h: In member function ‘nest::port mynest::pif_psc_alpha::handles_test_event(nest::SpikeEvent&, nest::port)’:
/home/docker/nest-extension-module-master/src/pif_psc_alpha.h:337:53: error: ‘get_name’ was not declared in this scope
     throw nest::UnknownReceptorType( receptor_type, get_name() );
                                                     ^~~~~~~~
/home/docker/nest-extension-module-master/src/pif_psc_alpha.h:337:53: note: suggested alternative: ‘get_V_m_’
     throw nest::UnknownReceptorType( receptor_type, get_name() );
                                                     ^~~~~~~~
                                                     get_V_m_
/home/docker/nest-extension-module-master/src/pif_psc_alpha.h: In member function ‘nest::port mynest::pif_psc_alpha::handles_test_event(nest::CurrentEvent&, nest::port)’:
/home/docker/nest-extension-module-master/src/pif_psc_alpha.h:351:53: error: ‘get_name’ was not declared in this scope
     throw nest::UnknownReceptorType( receptor_type, get_name() );
                                                     ^~~~~~~~
/home/docker/nest-extension-module-master/src/pif_psc_alpha.h:351:53: note: suggested alternative: ‘get_V_m_’
     throw nest::UnknownReceptorType( receptor_type, get_name() );
                                                     ^~~~~~~~
                                                     get_V_m_
/home/docker/nest-extension-module-master/src/pif_psc_alpha.h: In member function ‘nest::port mynest::pif_psc_alpha::handles_test_event(nest::DataLoggingRequest&, nest::port)’:
/home/docker/nest-extension-module-master/src/pif_psc_alpha.h:366:53: error: ‘get_name’ was not declared in this scope
     throw nest::UnknownReceptorType( receptor_type, get_name() );
                                                     ^~~~~~~~
/home/docker/nest-extension-module-master/src/pif_psc_alpha.h:366:53: note: suggested alternative: ‘get_V_m_’
     throw nest::UnknownReceptorType( receptor_type, get_name() );
                                                     ^~~~~~~~
                                                     get_V_m_
/home/docker/nest-extension-module-master/src/pif_psc_alpha.h: In member function ‘void mynest::pif_psc_alpha::get_status(DictionaryDatum&) const’:
/home/docker/nest-extension-module-master/src/pif_psc_alpha.h:380:3: error: ‘ArchivingNode’ has not been declared
   ArchivingNode::get_status( d );
   ^~~~~~~~~~~~~
/home/docker/nest-extension-module-master/src/pif_psc_alpha.h: In member function ‘void mynest::pif_psc_alpha::set_status(const DictionaryDatum&)’:
/home/docker/nest-extension-module-master/src/pif_psc_alpha.h:397:3: error: ‘ArchivingNode’ has not been declared
   ArchivingNode::set_status( d );
   ^~~~~~~~~~~~~
In file included from /home/docker/env/neurosci/nest_build/include/nest/connection_manager_impl.h:33,
                 from /home/docker/nest-extension-module-master/src/mymodule.cpp:38:
/home/docker/env/neurosci/nest_build/include/nest/conn_builder_factory.h: In instantiation of ‘nest::ConnBuilder* nest::ConnBuilderFactory<ConnBuilderType>::create(nest::NodeCollectionPTR, nest::NodeCollectionPTR, const DictionaryDatum&, const DictionaryDatum&) const [with ConnBuilderType = mynest::StepPatternBuilder; nest::NodeCollectionPTR = std::shared_ptr<nest::NodeCollection>; DictionaryDatum = lockPTRDatum<Dictionary, (& SLIInterpreter::Dictionarytype)>]’:
/home/docker/env/neurosci/nest_build/include/nest/conn_builder_factory.h:67:3:   required from here
/home/docker/env/neurosci/nest_build/include/nest/conn_builder_factory.h:72:12: error: no matching function for call to ‘mynest::StepPatternBuilder::StepPatternBuilder(nest::NodeCollectionPTR&, nest::NodeCollectionPTR&, const DictionaryDatum&, const DictionaryDatum&)’
     return new ConnBuilderType( sources, targets, conn_spec, syn_spec );
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/docker/nest-extension-module-master/src/mymodule.cpp:31:
/home/docker/nest-extension-module-master/src/step_pattern_builder.h:35:3: note: candidate: ‘mynest::StepPatternBuilder::StepPatternBuilder(nest::NodeCollectionPTR, nest::NodeCollectionPTR, const DictionaryDatum&, const std::vector<lockPTRDatum<Dictionary, (& SLIInterpreter::Dictionarytype)> >&)’
   StepPatternBuilder( const nest::NodeCollectionPTR sources,
   ^~~~~~~~~~~~~~~~~~
/home/docker/nest-extension-module-master/src/step_pattern_builder.h:35:3: note:   no known conversion for argument 4 from ‘const DictionaryDatum’ {aka ‘const lockPTRDatum<Dictionary, (& SLIInterpreter::Dictionarytype)>’} to ‘const std::vector<lockPTRDatum<Dictionary, (& SLIInterpreter::Dictionarytype)> >&’
/home/docker/nest-extension-module-master/src/step_pattern_builder.h:32:7: note: candidate: ‘mynest::StepPatternBuilder::StepPatternBuilder(const mynest::StepPatternBuilder&)’
 class StepPatternBuilder : public nest::ConnBuilder
       ^~~~~~~~~~~~~~~~~~
/home/docker/nest-extension-module-master/src/step_pattern_builder.h:32:7: note:   candidate expects 1 argument, 4 provided
/home/docker/nest-extension-module-master/src/step_pattern_builder.h:32:7: note: candidate: ‘mynest::StepPatternBuilder::StepPatternBuilder(mynest::StepPatternBuilder&&)’
/home/docker/nest-extension-module-master/src/step_pattern_builder.h:32:7: note:   candidate expects 1 argument, 4 provided
In file included from /home/docker/env/neurosci/nest_build/include/nest/model_manager.h:31,
                 from /home/docker/env/neurosci/nest_build/include/nest/kernel_manager.h:31,
                 from /home/docker/env/neurosci/nest_build/include/nest/connector_base_impl.h:26,
                 from /home/docker/env/neurosci/nest_build/include/nest/connection.h:29,
                 from /home/docker/nest-extension-module-master/src/drop_odd_spike_connection.h:27,
                 from /home/docker/nest-extension-module-master/src/mymodule.cpp:29:
/home/docker/env/neurosci/nest_build/include/nest/genericmodel.h: In instantiation of ‘bool nest::GenericModel<ElementT>::has_proxies() [with ElementT = mynest::pif_psc_alpha]’:
/home/docker/env/neurosci/nest_build/include/nest/genericmodel.h:174:1:   required from here
/home/docker/env/neurosci/nest_build/include/nest/genericmodel.h:176:17: error: ‘class mynest::pif_psc_alpha’ has no member named ‘has_proxies’
   return proto_.has_proxies();
          ~~~~~~~^~~~~~~~~~~
/home/docker/env/neurosci/nest_build/include/nest/genericmodel.h: In instantiation of ‘bool nest::GenericModel<ElementT>::one_node_per_process() [with ElementT = mynest::pif_psc_alpha]’:
/home/docker/env/neurosci/nest_build/include/nest/genericmodel.h:181:1:   required from here
/home/docker/env/neurosci/nest_build/include/nest/genericmodel.h:183:17: error: ‘class mynest::pif_psc_alpha’ has no member named ‘one_node_per_process’
   return proto_.one_node_per_process();
          ~~~~~~~^~~~~~~~~~~~~~~~~~~~
/home/docker/env/neurosci/nest_build/include/nest/genericmodel.h: In instantiation of ‘bool nest::GenericModel<ElementT>::is_off_grid() [with ElementT = mynest::pif_psc_alpha]’:
/home/docker/env/neurosci/nest_build/include/nest/genericmodel.h:188:1:   required from here
/home/docker/env/neurosci/nest_build/include/nest/genericmodel.h:190:17: error: ‘class mynest::pif_psc_alpha’ has no member named ‘is_off_grid’
   return proto_.is_off_grid();
          ~~~~~~~^~~~~~~~~~~
/home/docker/env/neurosci/nest_build/include/nest/genericmodel.h: In instantiation of ‘void nest::GenericModel<ElementT>::calibrate_time(const nest::TimeConverter&) [with ElementT = mynest::pif_psc_alpha]’:
/home/docker/env/neurosci/nest_build/include/nest/genericmodel.h:195:1:   required from here
/home/docker/env/neurosci/nest_build/include/nest/genericmodel.h:197:10: error: ‘class mynest::pif_psc_alpha’ has no member named ‘calibrate_time’; did you mean ‘calibrate’?
   proto_.calibrate_time( tc );
   ~~~~~~~^~~~~~~~~~~~~~
   calibrate
/home/docker/env/neurosci/nest_build/include/nest/genericmodel.h: In instantiation of ‘void nest::GenericModel<ElementT>::sends_secondary_event(nest::GapJunctionEvent&) [with ElementT = mynest::pif_psc_alpha]’:
/home/docker/env/neurosci/nest_build/include/nest/genericmodel.h:209:1:   required from here
/home/docker/env/neurosci/nest_build/include/nest/genericmodel.h:211:17: error: ‘class mynest::pif_psc_alpha’ has no member named ‘sends_secondary_event’; did you mean ‘send_test_event’?
   return proto_.sends_secondary_event( ge );
          ~~~~~~~^~~~~~~~~~~~~~~~~~~~~
          send_test_event
/home/docker/env/neurosci/nest_build/include/nest/genericmodel.h:211:43: error: return-statement with a value, in function returning ‘void’ [-fpermissive]
   return proto_.sends_secondary_event( ge );
                                           ^
/home/docker/env/neurosci/nest_build/include/nest/genericmodel.h: In instantiation of ‘void nest::GenericModel<ElementT>::sends_secondary_event(nest::InstantaneousRateConnectionEvent&) [with ElementT = mynest::pif_psc_alpha]’:
/home/docker/env/neurosci/nest_build/include/nest/genericmodel.h:216:1:   required from here
/home/docker/env/neurosci/nest_build/include/nest/genericmodel.h:218:17: error: ‘class mynest::pif_psc_alpha’ has no member named ‘sends_secondary_event’; did you mean ‘send_test_event’?
   return proto_.sends_secondary_event( re );
          ~~~~~~~^~~~~~~~~~~~~~~~~~~~~
          send_test_event
/home/docker/env/neurosci/nest_build/include/nest/genericmodel.h:218:43: error: return-statement with a value, in function returning ‘void’ [-fpermissive]
   return proto_.sends_secondary_event( re );
                                           ^
/home/docker/env/neurosci/nest_build/include/nest/genericmodel.h: In instantiation of ‘void nest::GenericModel<ElementT>::sends_secondary_event(nest::DiffusionConnectionEvent&) [with ElementT = mynest::pif_psc_alpha]’:
/home/docker/env/neurosci/nest_build/include/nest/genericmodel.h:223:1:   required from here
/home/docker/env/neurosci/nest_build/include/nest/genericmodel.h:225:17: error: ‘class mynest::pif_psc_alpha’ has no member named ‘sends_secondary_event’; did you mean ‘send_test_event’?
   return proto_.sends_secondary_event( de );
          ~~~~~~~^~~~~~~~~~~~~~~~~~~~~
          send_test_event
/home/docker/env/neurosci/nest_build/include/nest/genericmodel.h:225:43: error: return-statement with a value, in function returning ‘void’ [-fpermissive]
   return proto_.sends_secondary_event( de );
                                           ^
/home/docker/env/neurosci/nest_build/include/nest/genericmodel.h: In instantiation of ‘void nest::GenericModel<ElementT>::sends_secondary_event(nest::DelayedRateConnectionEvent&) [with ElementT = mynest::pif_psc_alpha]’:
/home/docker/env/neurosci/nest_build/include/nest/genericmodel.h:230:1:   required from here
/home/docker/env/neurosci/nest_build/include/nest/genericmodel.h:232:17: error: ‘class mynest::pif_psc_alpha’ has no member named ‘sends_secondary_event’; did you mean ‘send_test_event’?
   return proto_.sends_secondary_event( re );
          ~~~~~~~^~~~~~~~~~~~~~~~~~~~~
          send_test_event
/home/docker/env/neurosci/nest_build/include/nest/genericmodel.h:232:43: error: return-statement with a value, in function returning ‘void’ [-fpermissive]
   return proto_.sends_secondary_event( re );
                                           ^
/home/docker/env/neurosci/nest_build/include/nest/genericmodel.h: In instantiation of ‘nest::SignalType nest::GenericModel<ElementT>::sends_signal() const [with ElementT = mynest::pif_psc_alpha]’:
/home/docker/env/neurosci/nest_build/include/nest/genericmodel.h:237:1:   required from here
/home/docker/env/neurosci/nest_build/include/nest/genericmodel.h:239:17: error: ‘const class mynest::pif_psc_alpha’ has no member named ‘sends_signal’
   return proto_.sends_signal();
          ~~~~~~~^~~~~~~~~~~~
/home/docker/env/neurosci/nest_build/include/nest/genericmodel.h: In instantiation of ‘const nest::Node& nest::GenericModel<ElementT>::get_prototype() const [with ElementT = mynest::pif_psc_alpha]’:
/home/docker/env/neurosci/nest_build/include/nest/genericmodel.h:267:1:   required from here
/home/docker/env/neurosci/nest_build/include/nest/genericmodel.h:269:10: error: invalid initialization of reference of type ‘const nest::Node&’ from expression of type ‘const mynest::pif_psc_alpha’
   return proto_;
          ^~~~~~
/home/docker/env/neurosci/nest_build/include/nest/genericmodel.h: In instantiation of ‘void nest::GenericModel<ElementT>::set_model_id(int) [with ElementT = mynest::pif_psc_alpha]’:
/home/docker/env/neurosci/nest_build/include/nest/genericmodel.h:274:1:   required from here
/home/docker/env/neurosci/nest_build/include/nest/genericmodel.h:276:10: error: ‘class mynest::pif_psc_alpha’ has no member named ‘set_model_id’
   proto_.set_model_id( i );
   ~~~~~~~^~~~~~~~~~~~
/home/docker/env/neurosci/nest_build/include/nest/genericmodel.h: In instantiation of ‘int nest::GenericModel<ElementT>::get_model_id() [with ElementT = mynest::pif_psc_alpha]’:
/home/docker/env/neurosci/nest_build/include/nest/genericmodel.h:281:1:   required from here
/home/docker/env/neurosci/nest_build/include/nest/genericmodel.h:283:17: error: ‘class mynest::pif_psc_alpha’ has no member named ‘get_model_id’
   return proto_.get_model_id();
          ~~~~~~~^~~~~~~~~~~~
/home/docker/env/neurosci/nest_build/include/nest/genericmodel.h: In instantiation of ‘DictionaryDatum nest::GenericModel<ElementT>::get_status_() [with ElementT = mynest::pif_psc_alpha; DictionaryDatum = lockPTRDatum<Dictionary, (& SLIInterpreter::Dictionarytype)>]’:
/home/docker/env/neurosci/nest_build/include/nest/genericmodel.h:251:1:   required from here
/home/docker/env/neurosci/nest_build/include/nest/genericmodel.h:253:30: error: ‘class mynest::pif_psc_alpha’ has no member named ‘get_status_base’; did you mean ‘get_status’?
   DictionaryDatum d = proto_.get_status_base();
                       ~~~~~~~^~~~~~~~~~~~~~~
                       get_status
/home/docker/env/neurosci/nest_build/include/nest/genericmodel.h: In instantiation of ‘nest::Node* nest::GenericModel<ElementT>::allocate_(void*) [with ElementT = mynest::pif_psc_alpha]’:
/home/docker/env/neurosci/nest_build/include/nest/genericmodel.h:159:1:   required from here
/home/docker/env/neurosci/nest_build/include/nest/genericmodel.h:161:9: error: cannot convert ‘mynest::pif_psc_alpha*’ to ‘nest::Node*’ in initialization
   Node* n = new ( adr ) ElementT( proto_ );
         ^
make[2]: *** [src/CMakeFiles/mymodule_module.dir/build.make:63: src/CMakeFiles/mymodule_module.dir/mymodule.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:125: src/CMakeFiles/mymodule_module.dir/all] Error 2
make: *** [Makefile:152: all] Error 2