This is A PREVIEW for NEST 3.0 and NOT an OFFICIAL RELEASE! Some functionality may not be available and information may be incomplete!
NEST requires CMake 3.12 or higher, but we recommend version 3.16. You can type
cmake --version on the
commandline to check your current version.
The GNU readline library is recommended if you use NEST interactively without Python. Although most Linux distributions have GNU readline installed, you still need to install its development package if you want to use GNU readline with NEST. GNU readline itself depends on libncurses (or libtermcap on older systems). Again, the development packages are needed to compile NEST.
The GNU Scientific Library is needed by several neuron models, in particular those with conductance based synapses. If you want these models, please install the GNU Scientific Library along with its development packages.
For efficient sorting algorithms the Boost library is used. Since this is an essential factor for the communication of spikes, some simulations are significantly faster when NEST is compiled with Boost.
If you want to use PyNEST, we recommend to install the following along with their development packages:
Installation from source¶
If not already installed on your system, the following packages are recommended (see also the Dependencies section)
sudo apt install -y \ cython \ libgsl-dev \ libltdl-dev \ libncurses-dev \ libreadline-dev \ python3-all-dev \ python3-numpy \ python3-scipy \ python3-matplotlib \ python3-nose \ openmpi-bin \ libopenmpi-dev
Unpack the tarball
tar -xzvf nest-simulator-x.y.z.tar.gz
Create a build directory:
Change to the build directory:
Configure NEST. You may need additional
cmakeoptions (see CMake Options for NEST).
cmake -DCMAKE_INSTALL_PREFIX:PATH=<nest_install_dir> </path/to/NEST/src>
/install/path should be an absolute path
Python bindings are enabled by default. Add the configuration option
-Dwith-python=OFF to disable them.
Compile and install NEST:
make make install make installcheck
NEST should now be successfully installed on your system.
Before using NEST, make sure that all required environment variables are set correctly. In short, this can be established by sourcing the shell script
nest_vars.sh, which is installed into the path for binaries selected during the CMake run. See the section Environment variables for details.
What gets installed where¶
By default, everything will be installed to the subdirectories
/install/path is the install path given to
If you want to run the
nest executable or use the
nest Python module without providing explicit paths, you
have to add the installation directory to your search paths.
Please refer to the next section section for this.
A number of environment variables are used to specify where the components of a NEST installation are found. In particular when installing to a custom directory, it is typically necessary to explicitly set these variables, so that your operating system can find the NEST binaries, its libraries and custom extension modules.
For your convenience, a shell script setting all required environment variables is provided in
<nest_install_dir>/bin/nest_vars.sh. Setting the environment variables in your active shell session requires
sourcing the script:
You may want to include this line in your
.bashrc file, so that the environment variables are set automatically
whenever you open a new terminal.
The following variables are set in
Search path for non-standard Python module locations. Will be newly set or prepended to the already existing variable if it is already set.
Search path for binaries. Will be newly set or prepended to the already existing variable if it is already set.
If your operating system does not find the
nest executable or if Python does not find the
nest module, your
path variables may not be set correctly. This may also be the case if Python cannot load the
nest module due to
missing or incompatible libraries.