NeuroFedora: Blog

Free Software for Free Neuroscience

NEURON in NeuroFedora needs testing

We have been working on including the NEURON simulator in NeuroFedora for a while now. The build process that NEURON uses has certain peculiarities that make it a little harder to build.

For those that are interested in the technical details, while the main NEURON core is built using the standard ./configure; make ; make install process that cleanly differentiates the "build" and "install" phases, the Python bits are built as a "post-install hook". That is to say, they are built after the other bits in the "install" step instead of the "build" step. This implies that the build is not quite straightforward and must be slightly tweaked to ensure that the Fedora packaging guidelines are met.

After discussing things on this Github issue, the developers, @nrnhines (Michael Hines) and @ramcdougal (Robert A McDougal) helped me understand the complexities of the build process and get it done. They have also mentioned that NEURON is now moving to a CMake based build system and should be simpler to work with in the future. CMake is generally nicer for projects that include different languages and build systems.

After a few hours of work, NEURON is now ready to use in NeuroFedora. It is built with Python 3, and does not currently provide IV and MPI bits. These will be worked upon later. Since MUSIC is not yet in NeuroFedora, NEURON does not support MUSIC either currently. This is also a work in progress.

I have tested the NEURON build on my machine with a few example simulations and it works well, but this cannot be considered exhaustive testing of the package. If you have a Fedora system, please test NEURON and let us know if you notice any issues. Here's how.

Step 1: Set up a Fedora installation

NeuroFedora is based on Fedora, so the simplest way to use it is to install a Fedora Workstation using the live images available on You can either install it on a system or use a virtual machine if you wish. NeuroFedora includes lots of other software for neuroscience also. You can learn more in our documentation. Fedora, in general, provides lots of other software too. You can search them using the Fedora Packages web application.

Step 2: Install NEURON

I would recommend updating your system before proceeding using dnf in a terminal:

sudo dnf update --refresh

Then, you can install NEURON. It is currently in the testing repositories, so they will need to be enabled for the command:

sudo dnf --enablerepo=updates-testing install neuron python3-neuron

Step 3: Test it out

Test it out with your models. Hopefully, everything will work fine. The NEURON documentation is here for those that would like to tinker with it too:

Step 4: Give feedback

Bodhi logo

Bodhi, the Fedora Quality Assurance web application.

This step is optional, especially if everything works fine. If you experience any issues, please do get in touch with us. You can either contact us directly using one of our communication channels, or you can give karma to the update on Bodhi. The latter is preferred.

Bodhi is the system Fedora uses for pushing updates to users. In a nutshell:

  • a new version of software is released
  • the Fedora maintainer updates the Fedora package.
  • the maintainer submits the new Fedora package to Bodhi
  • the package remains in the updates-testing repositories while users test it out and provide feedback.
  • if the update receives positive feedback (positive karma), it is automatically pushed to the updates repository for all users to receive the new version.
  • if the update receives negative feedback, the new version is not sent out to users and the maintainer must fix the reported issues and submit a new version of the package for testing again.

This workflow applies to all Fedora packages, thus ensuring that there's plenty of time for issues to be flagged before the software reaches users. So, if you have a few minutes to spare, please help us by testing these packages out. The updates for Fedora 29 and Fedora 30 are both here:

Please note that this requires an Fedora account, since that's the account system that links all Fedora community infrastructure. This Fedora Magazine post provides an excellent resource on setting up a Fedora Account:

Detailed information on testing updates in Fedora can be found here on the Quality Assurance (QA) team's documentation:

NeuroFedora is volunteer driven initiative and contributions in any form always welcome. You can get in touch with us here. We are happy to help you learn the skills needed to contribute to the project. In fact, that is one of the major goals of the initiative---to spread technical knowledge that is necessary to develop software for Neuroscience.