This page is targeted at those who wish to develop and build the freesurfer source code on their Linux platform. These instructions have been tested for CentOS6 x86_64 minimal desktop.

1. Get the Source Code

If you already have a working local copy of the CVS repository then you can skip this step.

# Local CVS access:
export CVSROOT=/space/repo/1/dev
cvs checkout -P dev

# Or for remote access:
export CVSROOT=:ext:USER@door.nmr.mgh.harvard.edu:/space/repo/1/dev
cvs checkout -P dev

Or, you can get readonly CVS access to the source code by following the directions on this page:

2. Download and Install the Libraries

The following packages were required before building on a CentosOS 6.6 (minimal desktop).

yum groupinstall "Development Tools"
yum install mesa-libGLU-devel \
            freetype-devel.x86_64 \
            libuuid-devel.x86_64 \
            uuid-c++-devel.x86_64 \
            libXmu-devel.x86_64 \
            libXi-devel.x86_64 \
            liblapack-devel.x86_64 \
            libpng-devel.x86_64

Use the following commands to download and install the prepackaged bundle of open-source libraries required for building Freesurfer:

wget ftp://surfer.nmr.mgh.harvard.edu/pub/dist/fs_supportlibs/prebuilt/centos6_x86_64/centos6-x86_64-packages.tar.gz
mkdir -p /usr/pubsw/packages
tar -C /usr/pubsw/packages -xzvf centos6-x86_64-packages.tar.gz

3. Setup, Configure, Make

Determine the location you want Freesurfer to be installed. For example, in case case we will assume the user wants freesurfer to be installed in /home/USER/freesurfer. Type the following commands in the top-level Freesurfer directory (the directory that contains configure.in and all the mri_* and mris_* directories.)

./setup_configure
./configure \
      --prefix=/home/USER/freesurfer
make -j4
make install

Done! Send your comments/questions/feedback to zkaufman@nmr.mgh.harvard.edu