Differences between revisions 6 and 35 (spanning 29 versions)
Revision 6 as of 2015-06-10 15:08:09
Size: 2312
Editor: ZekeKaufman
Comment:
Revision 35 as of 2015-11-03 18:52:49
Size: 2988
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. 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 have access within the Martinos Center firewall, follow the steps below to download the source code from CVS. Non-Martinos 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 7: Line 7:
# Local CVS access:
export CVSROOT=/space/repo/1/dev
cvs checkout -P dev
# Local:
$> export CVSROOT=/space/repo/1/dev
$> cvs checkout -P dev
Line 11: Line 11:
# Or for remote access:
export CVSROOT=:ext:USER@door.nmr.mgh.harvard.edu:/space/repo/1/dev
cvs checkout -P dev
# Remote:
$> export CVSROOT=:ext:USERNAME@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 19: Line 18:
The following packages were required before building on a CentosOS 6.6 (minimal desktop).
=== Install System Libraries ===

The following system packages are required on CentOS6 systems before building. Equivalent or similar packages will be required on other linux distributions.
Line 22: Line 24:
yum install libtool-ltdl
yum groupinstall "Devleopment Tools"
$> 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
Line 26: Line 37:
=== Download and Install the Libraries ===
Use the following commands to download and install the prepackaged bundle of open-source libraries required for building Freesurfer:
=== Library Dependencies ===

In order to compile freesurfer, you will need to download and install our prebuilt bundled of 3rd party dependancies. Download the package and remember the location as you will need to pass the directory containing the 3rd party libraries to the {{{configure}}} script.
Line 31: Line 43:
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
$> tar -xzvf centos6-x86_64-packages.tar.gz
$> cd centos6-x86_64-packages
$> ./setup.sh
Line 35: Line 48:

/* '''''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 }}} */
Line 41: Line 52:
./setup_configure
./configure \
     
--prefix=/home/USER/freesurfer
make -j4
make install
$> ./setup_configure
$> ./configure --prefix=/home/username/fs_install --with=pkgs-dir=/home/username/centos6-x86_64-packages
$> make -j4
$> make install
Line 48: Line 58:

Its possible some systems (Ubuntu) will complain about a missing jpeg library after the {{{configure}}} script is run, or during runtime. If this happens, create the following symbolic link:
{{{
$> cd /usr/lib64
$> sudo ln -s libjpeg.so.62 libjpeg.so
}}}

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 have access within the Martinos Center firewall, follow the steps below to download the source code from CVS. Non-Martinos users can get readonly CVS access to the source code by following the directions on this page:

# Local:
$> export CVSROOT=/space/repo/1/dev
$> cvs checkout -P dev

# Remote:
$> export CVSROOT=:ext:USERNAME@door.nmr.mgh.harvard.edu:/space/repo/1/dev
$> cvs checkout -P dev

2. Install System 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

3. Library Dependencies

In order to compile freesurfer, you will need to download and install our prebuilt bundled of 3rd party dependancies. Download the package and remember the location as you will need to pass the directory containing the 3rd party libraries to the configure script.

$> wget ftp://surfer.nmr.mgh.harvard.edu/pub/dist/fs_supportlibs/prebuilt/centos6_x86_64/centos6-x86_64-packages.tar.gz
$> tar -xzvf centos6-x86_64-packages.tar.gz
$> cd centos6-x86_64-packages
$> ./setup.sh

4. 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/username/fs_install --with=pkgs-dir=/home/username/centos6-x86_64-packages
$> make -j4
$> make install

Done!

Its possible some systems (Ubuntu) will complain about a missing jpeg library after the configure script is run, or during runtime. If this happens, create the following symbolic link:

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

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