Differences between revisions 72 and 74 (spanning 2 versions)
Revision 72 as of 2016-01-21 17:31:29
Size: 3046
Editor: ZekeKaufman
Comment:
Revision 74 as of 2016-06-15 15:41:59
Size: 3798
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 OSX platform. These instructions have been tested for OS X 10.7, 10.9 (Lion and Mavericks). 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).

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.''
{{{
# Local CVS access:
$> export CVSROOT=/space/repo/1/dev
$> cvs checkout -P dev
Line 11: Line 8:
# Or for remote access:
$> export CVSROOT=:ext:USER@door.nmr.mgh.harvard.edu:/space/repo/1/dev
$> cvs checkout -P dev
}}}
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]]:
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 17: Line 10:
Or, you can use the super secret git repo which mirrors the CVS repo:
Line 20: Line 12:
## Get the source code
Line 21: Line 14:

## Get data files (only required for full installation)
$> cd freesurfer
$> git annex get .
Line 23: Line 20:
=== Download and Install the Libraries === === Install System Libraries ===
Line 27: Line 24:
 * [[https://download.qt.io/archive/qt/4.7/qt-mac-opensource-4.7.4.dmg|Qt 4.7.4]]
 * [[http://gcc.gnu.org/wiki/GFortranBinaries#MacOS|gfortran 4.8.2]]
 * [[https://www.macports.org/install.php|MacPorts]] (for installing gcc)
Line 32: Line 26:
 * [[http://gcc.gnu.org/wiki/GFortranBinaries#MacOS|gfortran 4.8.2]]
 * [[https://www.macports.org/install.php|MacPorts]]
Line 33: Line 29:
''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: Once !MacPorts is installed, use it to install autoconf, automake, libtool, and gcc44:
Line 36: Line 32:
$> xcode-select --install
}}}
$> sudo port install autoconf
$> sudo port install automake
$> sudo port install libtool
$> sudo port install gcc44
Line 39: Line 37:
After Xcode has been installed, we need to install gcc v4.4.7 using MacPorts:

{{{
$> sudo port install gcc44
## Set gcc44 to be the default compiler
Line 46: Line 41:
Line 49: Line 43:
Download and install the prebuilt package of open-source libraries: 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:

=== 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.
Line 52: Line 50:
$> curl -O ftp://surfer.nmr.mgh.harvard.edu/pub/dist/fs_supportlibs/prebuilt/lion/MacOSX_Lion_Packages.tar.gz
$> sudo mkdir -p /usr/pubsw/packages
$> sudo
tar -C /usr/pubsw/packages -xzvf MacOSX_Lion_Packages.tar.gz
}}}


=== Set Your Path ===
{{{
$> export PATH=/usr/pubsw/packages/autotools/bin:$PATH
$> 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 64: Line 56:
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 {{{/User/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.) 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 66: Line 59:
$> cd ~/freesurfer
Line 67: Line 61:
$> ./configure --prefix=/User/USER/freesurfer $> ./configure --with-pkgs-dir=/Users/username/osx-lion-packages --prefix=/Users/username/fs_install
Line 71: Line 65:
Line 72: Line 67:

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

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 http://freesurfer.net/anonftp/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