Differences between revisions 21 and 28 (spanning 7 versions)
Revision 21 as of 2015-06-24 16:38:22
Size: 2593
Editor: ZekeKaufman
Comment:
Revision 28 as of 2015-10-02 10:59:57
Size: 3021
Editor: ZekeKaufman
Comment:
Deletions are marked like this. Additions are marked like this.
Line 2: Line 2:
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. 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 desktop edition.
Line 5: Line 5:
''If you already have a working local copy of the CVS repository then you can skip this step.'' ''If you already have a working local copy of the CVS repository then you can skip this step.'' The steps below are only applicable if you have access within the Martinos Center firewall. Outside users can get readonly CVS access to the source code by following the directions [[https://surfer.nmr.mgh.harvard.edu/fswiki/ReadOnlyCVS|on this page]]:
Line 8: Line 8:
export CVSROOT=/space/repo/1/dev
cvs checkout -P dev
$> export CVSROOT=/space/repo/1/dev
$> cvs checkout -P dev
Line 12: Line 12:
export CVSROOT=:ext:USER@door.nmr.mgh.harvard.edu:/space/repo/1/dev
cvs checkout -P dev
$> export CVSROOT=:ext:USER@door.nmr.mgh.harvard.edu:/space/repo/1/dev
$> cvs checkout -P dev
Line 15: Line 15:
Or, you can get readonly CVS access to the source code by following the directions [[https://surfer.nmr.mgh.harvard.edu/fswiki/ReadOnlyCVS|on this page]]:
Line 22: Line 21:
The following packages were required before building on a CentosOS 6.6 (minimal desktop). The following system packages are required on CentOS6 systems before building. Equivalent or similar packages will be required on other linux distributions.
Line 25: Line 24:
yum groupinstall "Development Tools"
yum install mesa-libGLU-devel \
$> yum groupinstall "Development Tools"
$> yum install mesa-libGLU-devel \
Line 32: Line 31:
            lapack-devel.x86_64 \
Line 33: Line 33:
            libXaw-devel.x86_64 \
Line 36: Line 37:


Use the following commands to d
ownload and install the prepackaged bundle of open-source libraries required for building Freesurfer:
Download and install the prepackaged bundle of open-source libraries required for building Freesurfer:
Line 42: Line 41:
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
$> wget ftp://surfer.nmr.mgh.harvard.edu/pub/dist/fs_supportlibs/prebuilt/centos6_x86_64/centos6-x86_64-packages.tar.gz
$> sudo mkdir -p /usr/pubsw/packages
$> sudo tar -C /usr/pubsw/packages -xzvf centos6-x86_64-packages.tar.gz
}}}

Lastly, some system will complain about a missing jpeg library. If this happens, create the following symbolic link:
{{{
$> cd /usr/lib64
$> sudo ln -s libjpeg.so.62 libjpeg.so
Line 52: Line 57:
./setup_configure
./configure \
     
--prefix=/home/USER/freesurfer
make -j4
make install
$> ./setup_configure
$> ./configure --prefix=/home/USER/freesurfer
$> make -j4
$> make install

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 desktop edition.

1. Get the Source Code

If you already have a working local copy of the CVS repository then you can skip this step. The steps below are only applicable if you have access within the Martinos Center firewall. Outside users can get readonly CVS access to the source code by following the directions on this page:

# 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

2. Download and Install the Libraries

The following system packages are required on CentOS6 systems before building. Equivalent or similar packages will be required on other linux distributions.

$> 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 \
            lapack-devel.x86_64 \
            liblapack-devel.x86_64 \
            libXaw-devel.x86_64 \
            libpng-devel.x86_64

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
$> sudo mkdir -p /usr/pubsw/packages
$> sudo tar -C /usr/pubsw/packages -xzvf centos6-x86_64-packages.tar.gz

Lastly, some system will complain about a missing jpeg library. If this happens, create the following symbolic link:

$> cd /usr/lib64
$> sudo ln -s libjpeg.so.62 libjpeg.so

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