Differences between revisions 8 and 79 (spanning 71 versions)
Revision 8 as of 2013-09-23 10:08:21
Size: 2838
Editor: ZekeKaufman
Comment:
Revision 79 as of 2016-11-17 14:37:01
Size: 3925
Editor: ZekeKaufman
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
## page was renamed from freesurfer_mac_developers page
Line 3: Line 2:
This page is targeted at those who wish to develop and build the freesurfer source code on their OSX platform. These instructions have been tested for OS X 10.7, 10.9, 10.11 (Lion, Mavericks, El Capitan). See the [[freesurfer_linux_developers_page|linux build page]] for instructions on how to build on linux platform.
Line 4: Line 4:
This page is targeted at those who wish to develop and build the freesurfer source code on their Mac OSX platform. These instructions have been tested for Mac 10.6 (Snow Leopard) and 10.7 (Lion) and 10.8 (Mountain Lion). 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]].
<<TableOfContents(3)>>
=== Get the Source Code ===
Line 6: Line 8:
<<TableOfContents(3)>>

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

# Remote CVS access:
export CVSROOT=:ext:USER@door.nmr.mgh.harvard.edu:/space/repo/1/dev
}}}
Users can download Freesurfer source code via the read-only git repo. A simple clone of the repo (187 Megs) is enough to perform a build of all freesurfer binaries. However, if a user wishes to perform full Freesurfer installation locally, he/she will need [[https://git-annex.branchable.com/ | git-annex]] in order to download all the data files required for a full installation (6.6 Gigs).
Line 21: Line 12:
# Dev version:
cvs checkout -P dev
## Get the source code
$> git clone https://surfer.nmr.mgh.harvard.edu/pub/dist/freesurfer/repo/freesurfer.git
Line 24: Line 15:
# Stable version:
cvs checkout -P -r stable5 dev
## Get data files (only required for full installation)
$> cd freesurfer
$> git annex get .
Line 28: Line 20:
=== Get the Libraries ===
''If you are at the NMR Center and already have {{{/usr/pubsw/packages}}} mounted on your system then you can skip this step.''
=== Install System Libraries ===
Line 31: Line 22:
Freesurfer builds against a set of open-sourced libraries. Special bundles of this open-source code are available on the [[ftp://surfer.nmr.mgh.harvard.edu/pub/dist/fs_supportlibs/prebuilt|distribution site]]. Once you have downloaded the bundle, execute the following command to install them into the {{{/usr/pubsw/packages}}} directory: In order to build Freesurfer, the following prerequisite software will need to be downloaded and installed on your OSX system:

 * [[http://xquartz.macosforge.org/downloads/SL/XQuartz-2.7.5.dmg|XQuartz 2.7.5]] (for OSX versions 10.9 and lower)
 * [[http://xquartz.macosforge.org/downloads/SL/XQuartz-2.7.6.dmg|XQuartz 2.7.6]] (for OSX versions 10.10 and higher)
 * [[http://gcc.gnu.org/wiki/GFortranBinaries#MacOS|gfortran 4.8.2]]
 * [[https://www.macports.org/install.php|MacPorts]]

Once !MacPorts is installed, use it to install autoconf, automake, libtool, and gcc44:
Line 34: Line 32:
mkdir -p /usr/pubsw/packages
tar -C /usr/pubsw/packages -xzvf DownLoadedFileName.tar.gz
$> sudo port install autoconf
$> sudo port install automake
$> sudo port install libtool
$> sudo port install gcc44

## Set gcc44 to be the default compiler
$> sudo port select --set gcc mp-gcc44
$> gcc --version
gcc (MacPorts gcc44 4.4.7_10) 4.4.7
Line 38: Line 43:
'''''NOTE:''' If you are building on a Lion or Mountain Lion platform (OSX 10.7 or 10.8) you MUST install qt4.7.4 on your system. This is an unfortunate consequence related to difficulties in building against the compiled version of Qt. Click the following link to download [[ftp://surfer.nmr.mgh.harvard.edu/pub/dist/fs_supportlibs/prebuilt/lion/qt-mac-opensource-4.7.4.dmg|qt-mac-opensource-4.7.4.dmg]] and install.'' As of the writing of this document (June 2016) freeview is unable to build on OSX 10.11 platforms (El Capitan). This is due to an incompatibility between qt4.7 and OSX 10.11. If you are building on a pre-OSX 10.11 platform, and want to build freeeview, you will need to download and install [[https://download.qt.io/archive/qt/4.7/qt-mac-opensource-4.7.4.dmg|Qt 4.7.4]].''IMPORTANT: After you install Qt, you must delete line 320 from the file'' {{{/Library/Frameworks/QtCore.framework/Headers/qglobal.h}}}'', the line that says "#warning "This version of Mac OS X is unsupported""''. Next, install Xcode Command Line Tools my typing the following on the command line:
Line 40: Line 45:
You will also need gfortan. If this is not on your system, you can download it from here http://gcc.gnu.org/wiki/GFortranBinaries#MacOS === Library Dependencies ===
Line 42: Line 47:
=== Set Your Path ===
{{{
export PATH=/usr/pubsw/packages/autotools/bin:$PATH
}}}
=== 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 {{{/Users/zkaufman/freesurfer}}}. Type the following commands in the top-level Freesurfer directory (the directory that contains configure.in and all the mri_* and mris_* directories.)

If your on Mac OSX 10.6 (Snow Leopard):
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 52: Line 50:
./setup_configure
./configure \
      --prefix=/Users/zkaufman/freesurfer
make -j4
make install
$> cd ~
$> curl -O ftp://surfer.nmr.mgh.harvard.edu/pub/dist/fs_supportlibs/prebuilt/OSX/osx-lion-packages.tar.gz
$> tar -xzvf osx-lion-packages.tar.gz
Line 59: Line 55:
If your on Mac OSX 10.7 or 10.8 (Lion or Mountain Lion): === 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 62: Line 59:
./setup_configure
./configure \
      --prefix=/Users/zkaufman/freesurfer \
      --disable-tcltk-apps \
      --with-qt=/usr/bin \
      --with-Mac32-GUIs
make -j4
make install
$> cd ~/freesurfer
$> ./setup_configure
$> ./configure --with-pkgs-dir=/Users/username/osx-lion-packages --prefix=/Users/username/fs_install
$> make -j4
$> make install
Line 71: Line 65:
Line 73: Line 68:
Send your comments/questions/feedback to zkaufman@nmr.mgh.harvard.edu  Send your comments/questions/feedback to zkaufman@nmr.mgh.harvard.edu

This page is targeted at those who wish to develop and build the freesurfer source code on their OSX platform. These instructions have been tested for OS X 10.7, 10.9, 10.11 (Lion, Mavericks, El Capitan). See the linux build page for instructions on how to build on linux platform.

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

Users can download Freesurfer source code via the read-only git repo. A simple clone of the repo (187 Megs) is enough to perform a build of all freesurfer binaries. However, if a user wishes to perform full Freesurfer installation locally, he/she will need git-annex in order to download all the data files required for a full installation (6.6 Gigs).

## Get the source code
$> git clone https://surfer.nmr.mgh.harvard.edu/pub/dist/freesurfer/repo/freesurfer.git

## Get data files (only required for full installation)
$> cd freesurfer
$> git annex get .  

2. Install System Libraries

In order to build Freesurfer, the following prerequisite software will need to be downloaded and installed on your OSX system:

Once MacPorts is installed, use it to install autoconf, automake, libtool, and gcc44:

$> sudo port install autoconf
$> sudo port install automake
$> sudo port install libtool
$> sudo port install gcc44

## Set gcc44 to be the default compiler
$> sudo port select --set gcc mp-gcc44
$> gcc --version
gcc (MacPorts gcc44 4.4.7_10) 4.4.7

As of the writing of this document (June 2016) freeview is unable to build on OSX 10.11 platforms (El Capitan). This is due to an incompatibility between qt4.7 and OSX 10.11. If you are building on a pre-OSX 10.11 platform, and want to build freeeview, you will need to download and install Qt 4.7.4.IMPORTANT: After you install Qt, you must delete line 320 from the file /Library/Frameworks/QtCore.framework/Headers/qglobal.h, the line that says "#warning "This version of Mac OS X is unsupported"". Next, install Xcode Command Line Tools my typing the following on the command line:

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 ~
$> curl -O ftp://surfer.nmr.mgh.harvard.edu/pub/dist/fs_supportlibs/prebuilt/OSX/osx-lion-packages.tar.gz
$> tar -xzvf osx-lion-packages.tar.gz

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.):

$> cd ~/freesurfer
$> ./setup_configure
$> ./configure --with-pkgs-dir=/Users/username/osx-lion-packages --prefix=/Users/username/fs_install
$> make -j4
$> make install

Done!

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