Differences between revisions 1 and 34 (spanning 33 versions)
Revision 1 as of 2013-03-29 11:13:33
Size: 2524
Editor: ZekeKaufman
Comment:
Revision 34 as of 2014-05-15 14:48:22
Size: 4550
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 2: Line 3:
'''Index'''
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). 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). <<BR>><<BR>>
'''''IMPORTANT:''' CVS no longer ships with OSX 10.8 Command Line Tools and higher. To get CVS working on later versions of Mac OSX follow the directions [[http://apple.stackexchange.com/questions/108240/cvs-on-os-x-mavericks|on this page]].''
Line 9: Line 10:
''If you already have a working local copy of the CVS repository then you can ignore this step.''
Line 11: Line 11:
Local CVS access: ==== (Martinos Users) ====
Line 13: Line 13:
Users who have an account at the Martinos Center can download the source code from the local CVS repository using the following commands:
Line 14: Line 15:
# Local access
Line 16: Line 18:
}}}
Remote CVS access:
Line 19: Line 19:
{{{ # Or, for remote access:
Line 23: Line 23:

==== (non Martinos Users) ====
Users who do NOT have an account at the Martinos Center can first [[https://surfer.nmr.mgh.harvard.edu/opensourcereg.html|register to receive the password to the CVS repository]], and then download the source code using the following commands:

{{{
cvs -d :pserver:anonymous@fsvm.nmr.mgh.harvard.edu:/usr/fscvsroot login
# Type in password
cvs -d :pserver:anonymous@fsvm.nmr.mgh.harvard.edu:/usr/fscvsroot checkout -P dev
}}}

The above commands will check out the 'trunk' (most up to date) version of the source code. If you want a particular release (i.e. release 5.3), use the "-r release_5_3_0" flag when issuing the checkout command. For example:
{{{
cvs -d :pserver:anonymous@fsvm.nmr.mgh.harvard.edu:/usr/fscvsroot checkout -P -r release_5_3_0 dev
}}}
Line 24: Line 39:
''If you are at the NMR Center and already have {{{/usr/pubsw/packages}}} mounted on your system then you can skip this step.''
Line 26: Line 40:
Freesurfer builds against a set of open-sourced libraries. Special bundles of this open-source code are available on the [[http://surfer.nmr.mgh.harvard.edu/pub/dist/fs_supportlibs/|distribution site]]. Once you have downloaded the bundle, execute the following command to install them into the {{{/usr/pubsw/packages}}} directory: You will need to download and install gfortran, Qt4.7.4 and a prepackaged bundle of open-sourced libraries on your system.
 *[[http://gcc.gnu.org/wiki/GFortranBinaries#MacOS|gfortran]]
 *[[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]].
 *[[ftp://surfer.nmr.mgh.harvard.edu/pub/dist/fs_supportlibs/prebuilt|open-source libraries]]

The download and install of gfortran and Qt is straight forward, just click the .dmg file. To install the prepackaged bundle of open-source libraries, execute the following command after downloading it:
Line 30: Line 49:
tar -C /usr/pubsw/packages -xzvf DownLoadedFileName.tar.gz tar -C /usr/pubsw/packages -xzvf DownloadedFileName.tar.gz
Line 32: Line 51:
'''''NOTE:''' You may install the open-sourced libraries into any directory you wish but it is best to install them into the {{{/usr/pubsw/packages}}} directory, as that is where Freesurfer setup script checks for its packages during its setup. If you choose to install in a different location than the onus will be on you to setup everything correctly during the '''configure''' phase. That is outside the scope of this document.''
'''''IMPORTANT:''''' Do to a Qt bug, after you install Qt you must delete line 320 from the file {{{/Library/Frameworks/QtCore.framework/Headers/qglobal.h}}} (Removing the line that says '#warning "This version of Mac OS X is unsupported"')
Line 39: Line 59:
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.) 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/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 44: Line 64:
cd dev
Line 46: Line 67:
      --prefix=/Users/zkaufman/freesurfer       --prefix=/Users/USER/freesurfer \
      --with-vtk-cocoa-dir=/usr/pubsw/packages/vtk/5.6.1_cocoa
Line 50: Line 72:
If your on Mac OSX 10.7 (Lion):
If your on Mac OSX 10.7 or 10.8 (Lion or Mountain Lion):
Line 53: Line 76:
cd dev
Line 55: Line 79:
      --prefix=/Users/zkaufman/freesurfer \
      --disable-GUI-build \
      --with-Mac32-GUIs
      --prefix=/Users/USER/freesurfer \
      --with-vtk-cocoa-dir=/usr/pubsw/packages/vtk/5.6.1_cocoa \
      --disable-tcltk-apps \
      --with-qt=/usr/bin \
      --with-Mac32-GUIs \
      --without-cuda
Line 63: Line 91:
--------

=== Troubleshooting ===
 * If you are building the '''5.3 release''' than you will need to do the following:
  * Add [[ftp://surfer.nmr.mgh.harvard.edu/pub/dist/freesurfer/5.3.0-patch/unwarpGradientNonlinearity.c|unwarpGradientNonlinearity.c]] to the {{{dev/utils}}} directory.
  * Add [[ftp://surfer.nmr.mgh.harvard.edu/pub/dist/freesurfer/5.3.0-patch/unwarpGradientNonlinearity.h|unwarpGradientNonlinearity.h]] to the {{{dev/include}}} directory.
  * Add the contents of [[ftp://surfer.nmr.mgh.harvard.edu/pub/dist/fs_supportlibs/prebuilt/lion|tcltktixblt.tar.gz]] to the {{{/usr/pubsw/packages}}} directory.

--------

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

IMPORTANT: CVS no longer ships with OSX 10.8 Command Line Tools and higher. To get CVS working on later versions of Mac OSX follow the directions on this page.

1. Get the Source Code

1.1. (Martinos Users)

Users who have an account at the Martinos Center can download the source code from the local CVS repository using the following commands:

# Local access
export CVSROOT=/space/repo/1/dev
cvs checkout -P dev

# Or, for remote access:
export CVSROOT=:ext:USER@door.nmr.mgh.harvard.edu:/space/repo/1/dev
cvs checkout -P dev

1.2. (non Martinos Users)

Users who do NOT have an account at the Martinos Center can first register to receive the password to the CVS repository, and then download the source code using the following commands:

cvs -d :pserver:anonymous@fsvm.nmr.mgh.harvard.edu:/usr/fscvsroot login
# Type in password
cvs -d :pserver:anonymous@fsvm.nmr.mgh.harvard.edu:/usr/fscvsroot checkout -P dev

The above commands will check out the 'trunk' (most up to date) version of the source code. If you want a particular release (i.e. release 5.3), use the "-r release_5_3_0" flag when issuing the checkout command. For example:

cvs -d :pserver:anonymous@fsvm.nmr.mgh.harvard.edu:/usr/fscvsroot checkout -P -r release_5_3_0 dev

2. Get the Libraries

You will need to download and install gfortran, Qt4.7.4 and a prepackaged bundle of open-sourced libraries on your system.

The download and install of gfortran and Qt is straight forward, just click the .dmg file. To install the prepackaged bundle of open-source libraries, execute the following command after downloading it:

mkdir -p /usr/pubsw/packages
tar -C /usr/pubsw/packages -xzvf DownloadedFileName.tar.gz

IMPORTANT: Do to a Qt bug, after you install Qt you must delete line 320 from the file /Library/Frameworks/QtCore.framework/Headers/qglobal.h (Removing the line that says '#warning "This version of Mac OS X is unsupported"')

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

If your on Mac OSX 10.6 (Snow Leopard):

cd dev
./setup_configure
./configure \
      --prefix=/Users/USER/freesurfer \
      --with-vtk-cocoa-dir=/usr/pubsw/packages/vtk/5.6.1_cocoa
make -j4
make install

If your on Mac OSX 10.7 or 10.8 (Lion or Mountain Lion):

cd dev
./setup_configure
./configure \
      --prefix=/Users/USER/freesurfer \
      --with-vtk-cocoa-dir=/usr/pubsw/packages/vtk/5.6.1_cocoa \
      --disable-tcltk-apps \
      --with-qt=/usr/bin \
      --with-Mac32-GUIs \
      --without-cuda

make -j4
make install

Done!


5. Troubleshooting


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