Here is an excellent set of instructions for users of El Capitan, and it may contain hints that are useful if you're running an earlier version of OS X: https://www.neuron.yale.edu/ftp/neuron/nrn_mac_install.pdf
The following instructions assume that you are compiling for OSX 10.9 (Mavericks) or later, including macOS, and want to be able to:
- use NEURON from the command line or through the macOS GUI
- use Python as an alternative interpreter
- run parallelized simulations under MPI in order to speed up embarrassingly parallel problems, or exeucte simulations of networks or individual cells that are distributed over multiple processors
Some of these instructions are based on recommendations from other Mac users who have compiled NEURON under macOS. Please let us know if you have additional suggestions.
In the following steps, you're going to use the Terminal application a lot. If it isn't in your Dock already, open /Applications/Utilities, then find Terminal and drag it to the Dock.
II. Installing InterViews and NEURON.
III. Post-installation testing.
IV. Modifying NEURON's appearance.
I. Installing prerequisites
To install NEURON from source code, you will need the following:
GCC
The most convenient way to put GCC on your Mac is to execute the following in a terminal window:
xcode-select --install
When prompted, click "install" and then "agree" to the license.
Git
Download and install Git from https://git-scm.com/downloads.
autoconf, automake, and libtool
1. Download the most recent source code for autoconf, automake, and libtool from http://ftp.gnu.org/gnu/.
2. Execute these commands in a terminal window
mkdir ~/local ~/local/src export PATH=$HOME/local/bin:$PATH
3. From that same terminal, expand autoconf, then cd to the root of autoconf's source code tree and install it.
cd ~/local/src tar xzf ~/Downloads/autoconf*.gz cd autoconf* ./configure --prefix=$HOME/local make make install
4. Repeat step 3 for automake, then for libtool.
5. Now see if ~/.profile already exists. If it does, add these lines to it:
echo now executing ~/.profile export PATH=$HOME/local/bin:$PATH
If ~/.profile does not already exist, create one and put those lines in it.
XQuartz
XQuartz provides an X11 window server.
Download and install the most recent XQuartz dmg from http://xquartz.org. The installer will prompt you to log off, then back on, to make XQuartz your default X11 server. Make sure the "reopen windows when you log back in" box is checked, so your terminal and these instructions will reappear when you log back in.
In the terminal, execute this command:
defaults write org.macosforge.xquartz.X11 wm_ffm -bool true
That will enable single click action so you can click on a button in a window without first having to click on the window to make it active.
To verify that this worked, execute this command
defaults read | grep ffm
and look for this output:
"wm_ffm" = 1
Open MPI
If you plan to run parallel simulations under MPI on your Mac, you'll need to download and install the tar.gz file for the latest stable release of Open MPI from http://www.open-mpi.org/. Expand the tar.gz file, then install openmpi.
cd ~/local/src tar xzf ~/Downloads/openmpi*.gz cd openmpi* ./configure --prefix=$HOME/local make make install
II. Installing InterViews and NEURON.
After you get to this point, the rest is pretty easy.
A. Set up folders for the NEURON application so that the graphical icons will work and Python will work when desired.
export IDIR=/Applications/NEURON-7.5 mkdir $IDIR mkdir $IDIR/nrn mkdir $IDIR/iv
B. Get the source code for InterViews and NEURON
mkdir ~/neuron cd ~/neuron git clone https://github.com/neuronsimulator/nrn git clone https://github.com/neuronsimulator/iv
C. Install InterViews
cd iv sh ./build.sh ./configure --prefix=$IDIR/iv make make install
D. Install NEURON
cd ../nrn sh ./build.sh ../nrn/configure --prefix=$IDIR/nrn --with-iv=$IDIR/iv --with-nrnpython=dynamic --with-paranrn=dynamic make make install
E. Create a nrnenv in $HOME/neuron/ with these contents:
export IV=$IDIR/iv export N=$IDIR/nrn export CPU=x86_64 export PATH=$IV/$CPU/bin:$N/$CPU/bin:$PATH
and add the following lines to your ~/.profile
export LD_LIBRARY_PATH=$HOME/local/lib/ source ~/neuron/nrnenv
Your complete ~/.profile should now look like this:
echo now executing ~/.profile export PATH=$HOME/local/bin:$PATH export LD_LIBRARY_PATH=$HOME/local/lib/ source ~/neuron/nrnenv
F. Build the icons for GUI use.
cd $HOME/neuron/nrn make after_install
Comments--
make after_install does the following things:
- creates the icons
- strips the executables, making them smaller but more difficult to use with gdb
- creates neurondemo
The executables to be stripped can be found by examining nrn/src/mac/after-install.sh for the lines that contain strip. You can prevent stripping by defining a strip script that is null before executing make. Once stripped, however, NEURON has to be rebuilt in order to generate a version that is not stripped.
G. If you are developer and want to prepare a packaged version of NEURON, build a dmg.
make dmg
This command outputs a message to the terminal that tells where the dmg was created. The default location is $HOME.
III. Post-installation testing.
Before proceeding, make sure your ~/.profile contains the lines described above (see "Your complete ~/.profile should now look like this:").
Log out, then log back in, so your ~/.profile takes effect.
A. Try running these commands from the command line:
idraw nrngui neurondemo
You might also want to try double clicking the program icons in the /Applications/NEURON-7.5 folder.
B. Try running demonstrations from the parallel examples folder on the command line.
cd ~/neuron/nrn/src/parallel mpirun -n 4 $N/$CPU/bin/nrniv -mpi test0.hoc mpirun -n 4 $N/$CPU/bin/nrniv -mpi test0.py
Example output:
$ mpirun -n 4 $N/$CPU/bin/nrniv -mpi test0.hoc numprocs=4 NEURON -- VERSION 7.5 master (2cbd3b1) 2017-09-08 Duke, Yale, and the BlueBrain Project -- Copyright 1984-2016 See http://www.neuron.yale.edu/credits.html I am 3 of 4 I am 2 of 4 I am 0 of 4 I am 1 of 4 $ mpirun -n 4 $N/$CPU/bin/nrniv -mpi test0.py numprocs=4 NEURON -- VERSION 7.5 master (2cbd3b1) 2017-09-08 Duke, Yale, and the BlueBrain Project -- Copyright 1984-2016 See http://www.neuron.yale.edu/credits.html I am 1 of 4 I am 2 of 4 I am 3 of 4 I am 0 of 4
C. Verify that NEURON can be used via the macOS GUI.
Installing NEURON places the mknrndll and nrngui icons in the Applications/NEURON-7.5 folder. For the sake of convenience, you may want make these icons more accessible by dragging and dropping them onto the dock bar.
The standard way to use NEURON with the macOS GUI interface is:
- Compile any mod files by dragging and dropping the folder that contains them onto the mknrndll icon. mod files are usually the top level folder of an archive, but sometimes they're in a subfolder.
- Launch NEURON by dragging and dropping an initialization script onto the nrngui icon. The initialization script is typically called init.hoc or mosinit.hoc.
To test this, we downloaded a random model NEURON model from ModelDB (http://senselab.med.yale.edu/modeldb/ShowModel.asp?model=137259) and did the following:
- extract the zip file
- drag and drop the ca3-synresp folder onto the mknrndll icon
- drag and drop the mosinit.hoc file onto the nrngui icon
The model ran successfully.
IV. Modifying NEURON's appearance.
You can change the GUI's appearance by editing /Applications/NEURON-7.5/nrn/share/nrn/lib/nrn.defaults
It would be a good idea to make a copy first, so you can go back to the original if you like.
cd /Applications/NEURON-7.5/nrn/share/nrn/lib/ cp nrn.defaults nrn.defaults.orig
For example, you might want to change the default font by changing
*font: *helvetica-medium-r-normal*--14*
to
*font: *helvetica-bold-r-normal*--14*
Then run neurondemo to see the difference.