<< Main Manual 

NeuronetExperimenter Installation Guide 

Updated: 06/17/2025 by Varvara Folimonova

Since NeuronetExperimenter generates optimized C++ code from your models, you need to be able to generate an executable binary on your system. This requires several free development tools. Most of these tools should be accessible on any Unix-compatible system (i.e., Linux, OS X, *BSD, Solaris, Windows WSL etc.).

Required Tools:
GCC 11.X+ - The Gnu Compiler Collection
Python 3.9.X+ - The Python Programming Language Interpreter
GSL - The Gnu Scientific Library for random number generation
OpenMPI - A library for parallel processing communication
Conda - A tool for managing a customized Python environment specific to NeuronetExperimenter
NeuronetExperimenter

If running NeuronetExperimenter on Windows:

sudo apt update
sudo apt install build-essential
apt list gcc
apt list make

!!!! - IMPORTANT - !!!!

To simplify the installation we assume that you do not have root or administrator access to your computer. In that case, we will put all the tools in the user's home directory tree.

cd $HOME
mkdir bin include lib

Installing GCC

Linux, Solaris, and *BSD:

GCC is typically installed by default on most Linux distributions or can be selected as an additional package to include during installation. 

macOS:

GCC is usually NOT installed by default on macOS. Instead, macOS uses Clang which masquerades as GCC. This is included in Xcode with the Apple Developer Command Line Tools and can be installed from the Terminal.app by typing "xcode-select --install" or you can try the following link: https://developer.apple.com/download/more/.

Installing Python

A Python interpreter should already be installed on most Unix-compatible systems. You can confirm this by typing,

python -V

at a command terminal. This will return the Python version that is installed. If the command is not recognized, you can download and install the package from http://www.python.org.


On WSL, check if python is installed with:

python3 --version

Installing GSL

Download the latest stable version of GSL from the developer's website: http://www.gnu.org/software/gsl/. For example, https://mirror.ibcp.fr/pub/gnu/gsl/gsl-latest.tar.gz.

Unpack the source code and build the code as follows (note the comment in blue):


mkdir ~/src
cd ~/src
mv ~/Downloads/gsl-latest.tar.gz ~/src
tar zxvf gsl-latest.tar.gz
cd
gsl-2.8
./configure --prefix=$HOME
make
make install              

For installation on WSL, GSL can be downloaded directly from the developer's website, and then accessed from WSL with the path /mnt/c/User/user_name. When running make, ensure that it finishes running with no issues. Otherwise, address any issues, run make clean and start again with ./configure --prefix=$HOME.

Installing Open MPI

Download the latest stable version of Open MPI from the developer's website: http://www.open-mpi.org/. For example, https://download.open-mpi.org/release/open-mpi/v5.0/openmpi-5.0.6.tar.gz.

Unpack the source code and build the code as follows (note the comment in blue):


cd ~/src
mv ~/Downloads/
openmpi-5.0.6.tar.gz ~/src
tar zxvf openmpi-5.0.6.tar.gz
cd
openmpi-5.0.6
./configure --prefix=$HOME
make
make install              

Similarly to GSL, Open MPI can be downloaded directly from the developer's website, and then accessed from WSL with the path /mnt/c/User/user_name. When running make, ensure that it finishes running with no issues.

Installing Conda

Download and install the latest stable version of Miniconda from the website. For WSL installation, after following the instructions for Miniconda installation, run the following command and close and reopen WSL to initialize conda.

~/miniconda/bin/conda init --all

Installing the nne_env Conda Environment

Download the latest stable version of nne from the Sourceforge website.

Unpack the nne source code as follows:


tar zxvf NeuronetExperimenter-4.0.1.tar.gz
cd
NeuronetExperimenter-4.0.1

Before building the source code of nne, you must create and activate the Conda nne_env environment as follows:

conda env create -f nne_env.yml
conda activate nne_env

Note: You must only 'create' the Conda environment once; however, to compile and run the nne tools you must have 'activate'd the nne_env environment.

Compiling NeuronetExperimenter

Before compiling NeuronetExperimenter in WSL, you will need to install libtool.

sudo apt install libtool-bin

In the nne_env Conda environment, compile the core nne simulator:

./configure --prefix=$HOME
conda deactivate
conda activate nne_env
make                            
# this builds an executable binary of the core simulator w/o the models included
make install                    # this makes the binary accessible from anywhere on your file system

If you run into any issues during the make process, address any issues and run the following command before rerunning the instructions above.

make clean

After that, you should be able to type the following to enter the NeuronetExperimenter's interactive mode (program output in GREEN):

NeuronetExperimenter interactive mode
nne_run

Welcome to NeuronetExperimenter (nne) v4.0
Copyright (C) 2006-2024, J. A. Hayes and J. L. Mendenhall

Neurons this binary supports:

Select one from the following menu:
-1. Enter manually
0. Use the same setup and network file as last time
1. ../
2. docs/
3. include/
4. models/
5. scripts/
6. src/

Ctrl-C to exit

Plotting on WSL

In order to use the plotting functionalities of NeuronetExperimenter on WSL, you will need to install several additional dependencies. Otherwise, you may run into an error similar to this:

This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem. Available platform plugins are: eglfs, minimal, minimalegl, offscreen, vnc, webgl, xcb.

First, install Xming. Run XLaunch and select "Disable access control" in the settings. XLaunch must be running before attempting to plot data.

You will also need to install the following packages:

sudo apt install libxcb-render-util0
sudo apt install libxcb-image0
sudo apt install libice6
sudo apt install libsm6
sudo apt install libxcb-keysyms1
sudo apt install libxcb-icccm4

This should not happen, but if you are still running into an error similar to the one above when running nne_plotNeuron during Tutorial 1, you can debug and identify missing dependencies with the following instructions:

export QT_DEBUG_PLUGINS=1
nne_plotNeuron zca.setup 1

The last block of metadata contains a file location for libqxcb.so, it should look something like ~/miniconda3/envs/nne_env/plugins/platforms/libqxcb.so. Running the following command using this path will return a list of any missing packages, which can be installed with sudo apt install.

ldd ~/miniconda3/envs/nne_env/plugins/platforms/libqxcb.so | grep "not found"

Now if everything is installed, you should be able to go through the tutorials without any problems.

>>Tutorial #1. Building and Running a Simple Single-Neuron Simulation

<< Main Manual