NeuroML / pyNeuroML

A single package in Python unifying scripts and modules for reading, writing, simulating and analysing NeuroML2/LEMS models.
https://docs.neuroml.org/Userdocs/Software/pyNeuroML.html
GNU Lesser General Public License v3.0
34 stars 30 forks source link

Issue compiling .mod files on Apple Silicon [Bug] #293

Closed olitr20 closed 5 months ago

olitr20 commented 6 months ago

Describe the bug Failure to compile .mod files in the working directory when running jneuroml

To Reproduce run_lems_with_jneuroml_neuron(lems_simulation_file, max_memory="2G", plot=False)

Expected behavior Command will complete successfully, compiling all .mod files and returning simulation output.

Observed behavior (INFO) NMODL Error >> > make: [/Users/heeren/source/github/neuronsimulator/nrn/build/cmake_install/bin/nrnmech_makefile]: No such file or directory (INFO) NMODL Error >> > make: *** No rule to make target `/Users/heeren/source/github/neuronsimulator/nrn/build/cmake_install/bin/nrnmech_makefile'. Stop.

System information:

pgleeson commented 6 months ago

Hi @olitr20, I have jnml successfully compiling mod files on M2 silicon, and we've made sure that functionality is in the released version. My first guess is that not all the libraries are present for compiling mod files. Can you run nrnivmodl successfully in a directory containing mod files? You also seem to have Nrn built from source. Any special reason/requirement for that? For my environment, I have a dedicated conda env and nrn v8.1 pip installed.

olitr20 commented 6 months ago

Hi Padraig,

Thanks for getting back to me.

I think I may have got myself tangled up trying to get it to work but my initial try with ‘2 population networks’ in Jupyter notebook online didn’t work. I run python with homebrew on my personal computer so installed neuron into my home brew folder hence the build from source - built with pip install into homebrew folder. I can successfully run nrnivmodel in terminal to compile all the relevant .mod files but when I run the simulation command it cannot compile the files. I also have readline and another package that was required for compile to work but still no luck.

After hours of trying the only fix I came up with was specifying the neuron_home environment variable (as it couldn’t find automatically) and then compiling manually before running the simulation.

Apologies for my novice, I’m still new to a lot of this. I’ll set up a conda environment and hopefully that’ll fix my problems.

All the best, Oli El 18 dic 2023, 21:32 +1100, Padraig Gleeson @.***>, escribió:

Hi @olitr20, I have jnml successfully compiling mod files on M2 silicon, and we've made sure that functionality is in the released version. My first guess is that not all the libraries are present for compiling mod files. Can you run nrnivmodl successfully in a directory containing mod files? You also seem to have Nrn built from source. Any special reason/requirement for that? For my environment, I have a dedicated conda env and nrn v8.1 pip installed. — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you were mentioned.Message ID: @.***>

pgleeson commented 6 months ago

Hi @olitr20, yes, it's definitely a requirement to have NEURON_HOME set to the correct location to jnml can find the nrnivmodl executable (in NEURON_HOME/bin/nrnivmodl), and this should be set as an environment variable that the jnml process can see (so should be present before you start jupyter-lab or however you run your notebooks). Try also at command line with running pynml MyLEMS.xml -neuron -run -nogui to make sure it can find the correct location.

sanjayankur31 commented 6 months ago

Hi @olitr20 , how is it going? Were you able to fix this issue, or is there something that the NeuroML dev team needs to look into? Please do let us know.

olitr20 commented 5 months ago

Hi, all fixed now - thank you!