nrn
nrn copied to clipboard
Crash during mod file compilation for NEURON-nightly 9.0.dev4
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 : 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.
Thank you ! We will have a look