Differences between revisions 10 and 73 (spanning 63 versions)
Revision 10 as of 2013-09-23 10:19:02
Size: 2770
Editor: ZekeKaufman
Comment:
Revision 73 as of 2016-06-15 12:40:15
Size: 3284
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).
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.''
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 13: Line 12:
# Local CVS access:
export CVSROOT=/space/repo/1/dev
cvs checkout -P dev
## Get the source code
$> git clone http://freesurfer.net/anonftp/pub/dist/freesurfer/repo/freesurfer.git
Line 17: Line 15:
# Or for remote access:
export CVSROOT=:ext:USER@door.nmr.mgh.harvard.edu:/space/repo/1/dev
cvs checkout -P dev
## Get data files (only required for full installation)
$> cd freesurfer
$> git annex get .
Line 22: Line 21:
=== 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. Otherwise, you are going to need to download and install a bundle of open-sourced libraries from 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 on your machine:
=== Download and Install the Libraries ===

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

 * [[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)
 * [[http://xquartz.macosforge.org/downloads/SL/XQuartz-2.7.5.dmg|XQuartz 2.7.5]] (OSX versions 10.9 and lower)
 * [[http://xquartz.macosforge.org/downloads/SL/XQuartz-2.7.6.dmg|XQuartz 2.7.6]] (OSX versions 10.10 and higher)

''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 26: Line 34:
mkdir -p /usr/pubsw/packages
tar -C /usr/pubsw/packages -xzvf DownLoadedFileName.tar.gz
$> xcode-select --install
Line 30: Line 37:
'''''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.'' After Xcode has been installed, we need to install gcc v4.4.7 using MacPorts:
Line 32: Line 39:
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 {{{
$> sudo port install gcc44
$> sudo port select --set gcc mp-gcc44
$> gcc --version
gcc (MacPorts gcc44 4.4.7_10) 4.4.7

}}}

Download and install the prebuilt package of open-source libraries:

{{{
$> 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
}}}
Line 36: Line 58:
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):

{{{
./setup_configure
./configure \
      --prefix=/Users/zkaufman/freesurfer
make -j4
make install
$> export PATH=/usr/pubsw/packages/autotools/bin:$PATH
Line 51: Line 61:
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 {{{/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.)
Line 54: Line 64:
./setup_configure
./configure \
     
--prefix=/Users/zkaufman/freesurfer \
      --disable-tcltk-apps \
      --with-qt=/usr/bin \
      --with-Mac32-GUIs
make -j4
make install
$> ./setup_configure
$> ./configure --prefix=/User/USER/freesurfer
$>
make -j4
$> make install
Line 64: Line 70:

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

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. Download and Install the Libraries

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

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:

$> xcode-select --install

After Xcode has been installed, we need to install gcc v4.4.7 using MacPorts:

$> sudo port install gcc44
$> sudo port select --set gcc mp-gcc44
$> gcc --version
gcc (MacPorts gcc44 4.4.7_10) 4.4.7

Download and install the prebuilt package of open-source libraries:

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

3. Set Your Path

$> export PATH=/usr/pubsw/packages/autotools/bin:$PATH

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

$> ./setup_configure
$> ./configure --prefix=/User/USER/freesurfer
$> make -j4
$> make install

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