Differences between revisions 28 and 113 (spanning 85 versions)
Revision 28 as of 2015-10-02 10:59:57
Size: 3021
Editor: ZekeKaufman
Comment:
Revision 113 as of 2019-03-27 13:50:10
Size: 0
Editor: AndrewHoopes
Comment: Documentation has been consolidated in the Build Guide
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
#pragma section-numbers on
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.
<<TableOfContents(3)>>
=== 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 [[https://surfer.nmr.mgh.harvard.edu/fswiki/ReadOnlyCVS|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
}}}

/* === Get the build tools (Ubuntu plantforms only) === If you are on an Ubuntu machine you will have to install the following packages:{{{sudo apt-get install autoconf libtool gfortran cvs}}} */


=== 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:

/* '''''On 64bit systems''''' */
{{{
$> 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
}}}

/* '''''On 32bit systems'''''{{{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 }}} */

=== 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