|
Size: 2459
Comment:
|
Size: 4008
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 Centos 6 desktop edition and Ubuntu 14.04. Those who wish to add a binary to the freesurfer software suite should consult the 'Adding a new binary to the tree' section of the [[https://surfer.nmr.mgh.harvard.edu/fswiki/DevelopersGuide#Addinganewbinarytothetree|Developers Guide]]. |
| Line 5: | Line 7: |
| ''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: |
| Line 7: | Line 9: |
| # 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 13: |
| # 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 17: |
| 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]]: | Non-Martinos users can access a read-only git repo which mirrors the CVS repo (requires git annex): {{{ $> git clone http://freesurfer.net/anonftp/pub/dist/freesurfer/repo/freesurfer.git $> cd freesurfer $> git annex get . }}} |
| Line 20: | Line 29: |
| === Download and Install the Libraries === | === Install System Libraries === |
| Line 22: | Line 31: |
| The following packages were required before building on a CentosOS 6.6 (minimal desktop). | Depending on your specific linux distribution, the following system packages are required will be required: |
| Line 24: | Line 33: |
| '''CentOS 6:''' | |
| Line 25: | Line 35: |
| yum install libtool-ltdl yum groupinstall "Development Tools" yum install mesa-libGL-devel mesa-libGLU-devel yum install freetype-devel.x86_64 yum install libuuid-devel.x86_64 uuid-c++-devel.x86_64 |
$> 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 32: | Line 48: |
| '''Ubuntu 14.04 LTS:''' {{{ $> sudo apt-get install build-essential \ libtool \ automake \ gfortran \ libglu1-mesa-dev \ libfreetype6-dev \ uuid-dev \ libxmu-dev \ libxmu-headers \ libxi-dev \ libx11-dev \ libxt-dev \ libxaw7-dev \ liblapack-dev }}} |
|
| Line 33: | Line 66: |
| === Library Dependencies === | |
| Line 34: | Line 68: |
| Use the following commands to download and install the prepackaged bundle of open-source libraries required for building Freesurfer: | In order to compile freesurfer, you will need to download and install our prebuilt bundle of 3rd party dependancies. Download the package and extract its content. Remember the extraction location as you will need to pass that directory to the {{{configure}}} script. |
| Line 38: | Line 72: |
| 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 |
$> cd ~ $> 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 43: | Line 79: |
| /* '''''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.): |
| Line 45: | Line 82: |
| === 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.) |
'''CentOS 6:''' |
| Line 48: | Line 85: |
| ./setup_configure ./configure \ --prefix=/home/USER/freesurfer make -j4 make install |
$> cd ~/freesurfer $> ./setup_configure $> ./configure --disable-Werror --with-pkgs-dir=/home/username/centos6-x86_64-packages --prefix=/home/username/fs_install $> make -j4 $> make install |
| Line 54: | Line 91: |
'''Ubuntu 14.04 LTS:''' {{{ $> ./setup_configure $> ./configure --disable-GUI-build --disable-Werror --with-pkgs-dir=/home/username/centos6-x86_64-packages --prefix=/home/username/fs_install $> make -j4 $> make install }}} |
|
| Line 55: | Line 101: |
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 Centos 6 desktop edition and Ubuntu 14.04.
Those who wish to add a binary to the freesurfer software suite should consult the 'Adding a new binary to the tree' section of the Developers Guide.
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:
# 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
Non-Martinos users can access a read-only git repo which mirrors the CVS repo (requires git annex):
$> git clone http://freesurfer.net/anonftp/pub/dist/freesurfer/repo/freesurfer.git $> cd freesurfer $> git annex get .
2. Install System Libraries
Depending on your specific linux distribution, the following system packages are required will be required:
CentOS 6:
$> 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_64Ubuntu 14.04 LTS:
$> sudo apt-get install build-essential \
libtool \
automake \
gfortran \
libglu1-mesa-dev \
libfreetype6-dev \
uuid-dev \
libxmu-dev \
libxmu-headers \
libxi-dev \
libx11-dev \
libxt-dev \
libxaw7-dev \
liblapack-dev
3. Library Dependencies
In order to compile freesurfer, you will need to download and install our prebuilt bundle of 3rd party dependancies. Download the package and extract its content. Remember the extraction location as you will need to pass that directory to the configure script.
$> cd ~ $> 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.):
CentOS 6:
$> cd ~/freesurfer $> ./setup_configure $> ./configure --disable-Werror --with-pkgs-dir=/home/username/centos6-x86_64-packages --prefix=/home/username/fs_install $> make -j4 $> make install
Ubuntu 14.04 LTS:
$> ./setup_configure $> ./configure --disable-GUI-build --disable-Werror --with-pkgs-dir=/home/username/centos6-x86_64-packages --prefix=/home/username/fs_install $> 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
