nrn icon indicating copy to clipboard operation
nrn copied to clipboard

Crash during mod file compilation for NEURON-nightly 9.0.dev4

Open DrTaDa opened this issue 2 years ago • 2 comments

Context

Overview of the issue

We ran into a new issue while running the tests of BluePyOpt aginst neuron-nightly. It crashed during the compilation of the mod files.

Expected result/behavior

That it compiles without crashing

NEURON setup

  • Version: NEURON-nightly==9.0.dev4

Logs

https://github.com/BlueBrain/BluePyOpt/runs/7024042513?check_suite_focus=true#step:5:176

py3-unit-functional-style run-test: commands[3] | make stochkv_prepare l5pc_prepare sc_prepare meta_prepare
  cd examples/stochkv && ls mechanisms && nrnivmodl mechanisms
  StochKv.mod
  StochKv3.mod
  dummy.inc
  /home/runner/work/BluePyOpt/BluePyOpt/examples/stochkv
  Mod files: "mechanisms/mechanisms/StochKv.mod" "mechanisms/mechanisms/StochKv3.mod"
  
  Creating 'x86_64' directory for .o files.
  
  make[1]: Entering directory '/home/runner/work/BluePyOpt/BluePyOpt/examples/stochkv/x86_64'
   -> Compiling mod_func.cpp
   -> NMODL ../mechanisms/StochKv.mod
   -> NMODL ../mechanisms/StochKv3.mod
  Translating StochKv.mod into /home/runner/work/BluePyOpt/BluePyOpt/examples/stochkv/x86_64/StochKv.cpp
  Translating StochKv3.mod into /home/runner/work/BluePyOpt/BluePyOpt/examples/stochkv/x86_64/StochKv3.cpp
  Warning: bnl undefined. (declared within VERBATIM?)
  Warning: bnl undefined. (declared within VERBATIM?)
  Warning: value undefined. (declared within VERBATIM?)
  Warning: value undefined. (declared within VERBATIM?)
  Thread Safe
   -> Compiling StochKv3.cpp
  Thread Safe
   -> Compiling StochKv.cpp
  StochKv3.cpp:405:7: error: ambiguating new declaration of ‘void* nrn_random_arg(int)’
    405 | void* nrn_random_arg(int argpos);
        |       ^~~~~~~~~~~~~~
  In file included from /home/runner/work/BluePyOpt/BluePyOpt/.tox/py3/lib/python3.9/site-packages/neuron/.data/include/mech_api.h:16,
                   from StochKv3.cpp:7:
  /home/runner/work/BluePyOpt/BluePyOpt/.tox/py3/lib/python3.9/site-packages/neuron/.data/include/nrnrandom.h:6:7: note: old declaration ‘Rand* nrn_random_arg(int)’
      6 | Rand* nrn_random_arg(int);
        |       ^~~~~~~~~~~~~~
  StochKv3.cpp: In function ‘double urand_StochKv3(double*, Datum*, Datum*, NrnThread*)’:
  StochKv3.cpp:747:39: warning: ‘double nrn_random_pick(void*)’ is deprecated: non-void* overloads are preferred [-Wdeprecated-declarations]
    747 |         value = nrn_random_pick(_p_rng);
        |                                       ^
  StochKv3.cpp:404:8: note: declared here
    404 | double nrn_random_pick(void* r);
        |        ^~~~~~~~~~~~~~~
  StochKv3.cpp:747:39: warning: ‘double nrn_random_pick(void*)’ is deprecated: non-void* overloads are preferred [-Wdeprecated-declarations]
    747 |         value = nrn_random_pick(_p_rng);
        |                                       ^
  StochKv3.cpp:404:8: note: declared here
    404 | double nrn_random_pick(void* r);
        |        ^~~~~~~~~~~~~~~
  StochKv.cpp:395:7: error: ambiguating new declaration of ‘void* nrn_random_arg(int)’
    395 | void* nrn_random_arg(int argpos);
        |       ^~~~~~~~~~~~~~
  In file included from /home/runner/work/BluePyOpt/BluePyOpt/.tox/py3/lib/python3.9/site-packages/neuron/.data/include/mech_api.h:16,
                   from StochKv.cpp:7:
  /home/runner/work/BluePyOpt/BluePyOpt/.tox/py3/lib/python3.9/site-packages/neuron/.data/include/nrnrandom.h:6:7: note: old declaration ‘Rand* nrn_random_arg(int)’
      6 | Rand* nrn_random_arg(int);
        |       ^~~~~~~~~~~~~~
  StochKv.cpp: In function ‘double urand_StochKv(double*, Datum*, Datum*, NrnThread*)’:
  StochKv.cpp:689:39: warning: ‘double nrn_random_pick(void*)’ is deprecated: non-void* overloads are preferred [-Wdeprecated-declarations]
    689 |         value = nrn_random_pick(_p_rng);
        |                                       ^
  StochKv.cpp:394:8: note: declared here
    394 | double nrn_random_pick(void* r);
        |        ^~~~~~~~~~~~~~~
  StochKv.cpp:689:39: warning: ‘double nrn_random_pick(void*)’ is deprecated: non-void* overloads are preferred [-Wdeprecated-declarations]
    689 |         value = nrn_random_pick(_p_rng);
        |                                       ^
  StochKv.cpp:394:8: note: declared here
    394 | double nrn_random_pick(void* r);
        |        ^~~~~~~~~~~~~~~
  make[1]: *** [makemod2c_inc:15: StochKv3.o] Error 1
  make[1]: *** Waiting for unfinished jobs....
  make[1]: *** [makemod2c_inc:7: StochKv.o] Error 1
  make[1]: Leaving directory '/home/runner/work/BluePyOpt/BluePyOpt/examples/stochkv/x86_64'
  INFO : Using neuron-nightly Package (Developer Version)
  Traceback (most recent call last):
    File "/home/runner/work/BluePyOpt/BluePyOpt/.tox/py3/bin/nrnivmodl", line 94, in <module>
      subprocess.check_call([exe, *sys.argv[1:]])
    File "/opt/hostedtoolcache/Python/3.9.13/x64/lib/python3.9/subprocess.py", line 373, in check_call
      raise CalledProcessError(retcode, cmd)
  subprocess.CalledProcessError: Command '['/home/runner/work/BluePyOpt/BluePyOpt/.tox/py3/lib/python3.9/site-packages/neuron/.data/bin/nrnivmodl', 'mechanisms']' returned non-zero exit status 2.
  make: *** [Makefile:26: stochkv_prepare] Error 1
  Error: ERROR: InvocationError for command /usr/bin/make stochkv_prepare l5pc_prepare sc_prepare meta_prepare (exited with code 2)

DrTaDa avatar Jun 23 '22 14:06 DrTaDa

@DrTaDa : I will post the update on BBP channel about this. But in short, see the docs here. We have already done the work for BBP model.

pramodk avatar Jun 23 '22 14:06 pramodk

Thank you ! We will have a look

DrTaDa avatar Jun 23 '22 14:06 DrTaDa