Build in Mac OSX
(Difference between revisions)
Line 160: | Line 160: | ||
− | + | # Using the Terminal application, issue the following command 'pico ~/.bash_profile'. If everything has gone according to plan, you should only need to set up the two following environment variables: | |
− | + | #: <code>export DYLD_LIBRARY_PATH=${CMAKE_INSTALL_PREFIX}/lib/vtk-5.6/:$DYLD_LIBRARY_PATH</code> | |
− | + | #: <code>export PYTHONPATH=${CMAKE_INSTALL_PREFIX}/lib/python2.6/site-packages/:$PYTHONPATH</code> | |
− | + | ||
+ | # NOTE: ${CMAKE_INSTALL_PREFIX} should be replaced with your install directory. For example, if your install directory was /usr/local, it should read: /usr/local/lib/vtk-5.6/ etc. Unless you have other libraries installed at these locations you should be good to go. Simply go to the directory where you downloaded the BXD source and issue python BioImageXD.py. |
Revision as of 08:08, 10 July 2012
These instructions give details how we build all necessary libraries and setup BioImageXD in Mac OSX. In some cases there might be some libraries not installed that are needed to build VTK/ITK libraries. Those errors are reported by CMake. If you cannot find correct library to install, contact info@bioimagexd.net. In most cases, only packages mentioned in prerequisites are needed. Whole process takes full day (about 8h), but gladly computer will do most of the job.
Prerequisites:
- Python 2.7, http://www.python.org
- wxPython 2.9.3 or newer, http://www.wxpython.org/
- CMake 2.6 or newer, http://www.cmake.org
- SWIG 1.3.38 or newer (2.x.x series haven't been tested), http://www.swig.org/
- Subversion client
Important note:
- The source, build and install directories should be kept separate. Mixing source, build and install files in one or two directories can result in build and/or install errors.
- If you need to rebuild a library, clean out (remove) the build directory files and start again.
Contents |
Building VTK
- Download VTK 5.6.1 (or newer, might work, but no guarantees), http://www.vtk.org/files/release/5.6/vtk-5.6.1.tar.gz
- Extract package
- Create new build directory for building VTK
- Go to build directory and issue command 'ccmake ${VTK_SOURCE}'
- Set following settings (click 't' to toggle advanced mode on, and 'c' to configure):
-
BUILD_SHARED_LIBS: ON
-
BUILD_TESTING: OFF
-
CMAKE_BUILD_TYPE: Release
-
CMAKE_INSTALL_PREFIX: Change to some location where you have write access if you don't have admin rights
-
VTK_USE_PARALLEL: ON
-
VTK_WRAP_PYTHON: ON
-
- Click 'c' to configure and set
-
VTK_USE_TK: OFF
-
- If you're running a version of OS X that doesn't include Python 2.7 by default (and you have to install it separately) set the following parameters:
-
PYTHON_EXECUTABLE: /Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7
-
PYTHON_INCLUDE_DIR: /Library/Frameworks/Python.framework/Versions/2.7/include/python2.7/
-
PYTHON_LIBRARY: /Library/Frameworks/Python.framework/Versions/2.7/lib/libpython2.7.dylib
-
- Click 'c' to configure and 'g' to generate and exit
- Issue command 'make', get a cup of coffee and wait about 30-60 minutes for VTK to get build
- Set
${VTK_INSTALL_DIR}/lib/python2.7/site-packages/
toPYTHONPATH
so you can install VTK correctly, if you are installing VTK outside path - Issue command 'make install' to install built VTK to directory defined in
CMAKE_INSTALL_PREFIX
- If you experience a
PYTHONPATH
issue when installing VTK, you can try using the commandsudo python setup.py install
in your build directory'sWrapping/Python
sub-directory.
Building ITK
- Download ITK 3.20.1 (ITK 4.x.x will not work, we'll update this guide when we move to ITK 4), http://sourceforge.net/projects/itk/files/itk/3.20/InsightToolkit-3.20.1.tar.gz/download
- Extract package
- Create new build directory for building ITK
- Go to build directory and issue command 'ccmake ${ITK_SOURCE}'
- Set following settings (click 't' to toggle advanced mode on, and 'c' to configure):
-
BUILD_EXAMPLES: OFF
-
BUILD_SHARED_LIBS: ON
-
BUILD_TESTING: OFF
-
CMAKE_BUILD_TYPE: Release
-
CMAKE_INSTALL_PREFIX: Change to some location where you have write access if you don't have admin rights
-
ITK_USE_OPTIMIZED_REGISTRATION: ON
-
ITK_USE_REVIEW: ON
-
ITK_USE_REVIEW_STATISTICS: ON
-
- Click 'c' to configure (don't care about attentions) and 'g' to generate and exit
- Issue command 'make', get another cup of coffee and wait about 10 minutes for ITK to get build
- Issue command 'make install' to install built ITK to directory defined in
CMAKE_INSTALL_PREFIX
Building CableSwig (needed for WrapITK)
- Download CableSwig-ITK 3.20.0, http://voxel.dl.sourceforge.net/sourceforge/itk/CableSwig-ITK-3.20.0.tar.gz
- Extract package
- Create new build directory for building CableSwig
- Go to build directory and issue command 'ccmake ${CABLESWIG_SOURCE}'
- Set following settings (click 't' to toggle advanced mode on, and 'c' to configure):
-
CMAKE_BUILD_TYPE: Release
-
CMAKE_INSTALL_PREFIX: Change to some location where you have write access if you don't have admin rights
-
- Click 'c' to configure and 'g' to generate and exit
- Issue command 'make', get another cup of coffee and wait about 5 minutes for CableSwig to get build
- Issue command 'make install' to install built CableSwig to directory defined in
CMAKE_INSTALL_PREFIX
Building WrapITK (the long-lasting part)
- Create directory for WrapITK source
- Go to directory and fetch sources using command 'svn checkout http://wrapitk.googlecode.com/svn/branches/maint .'
- Append
.notwrapped
to the following files:-
Libraries/LevelSet/wrap_itkNarrowBandCurvesLevelSetImageFilter.cmake
-->Libraries/LevelSet/wrap_itkNarrowBandCurvesLevelSetImageFilter.cmake.notwrapped
-
Libraries/Registration/wrap_itkHoughTransform2DCirclesImageFilter.cmake
-->Libraries/Registration/wrap_itkHoughTransform2DCirclesImageFilter.cmake.notwrapped
-
Libraries/IO/wrap_ITKIOBase.cmake
-->Libraries/IO/wrap_ITKIOBase.cmake.notwrapped
-
- Create new build directory for building WrapITK
- Go to build directory and issue command 'ccmake ${WRAPITK_SOURCE}'
- Set following settings (click 't' to toggle advanced mode on, and 'c' to configure, don't care about missing ITK_DIR error):
-
BUILD_TESTING: OFF
-
CMAKE_BUILD_TYPE: Release
-
CMAKE_INSTALL_PREFIX: Change to some location where you have write access if you don't have admin rights
-
ITK_DIR: Set to your ITK build directory
-
WRAP_double: ON
-
WRAP_unsigned_char: ON
-
WRAP_unsigned_long: ON
-
- Click 'c' to configure (don't care about possible errors) and set
-
CableSwig_DIR: Set to your CableSwig build directory
-
WRAP_ITK_PYTHON: ON
-
INSTALL_WRAP_ITK_COMPATIBILITY: OFF
-
- If you needed to install SWIG to comply with the prerequisites, set the following parameters to correspond to your installed version (here 1.3.38):
-
SWIG_DIR: /usr/local/share/swig/1.3.38
-
SWIG_EXECUTABLE: /usr/local/bin/swig
-
SWIG_VERSION: 1.3.38
-
- If you're running a version of OS X that doesn't include Python 2.7 by default (and you have to install it separately) set the following parameters:
-
PYTHON_EXECUTABLE: /Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7
-
PYTHON_INCLUDE_DIR: /Library/Frameworks/Python.framework/Versions/2.7/include/python2.7/
-
PY_SITE_PACKAGES_PATH: /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages
-
- Click 'c' to configure, nothing to set so click 'c' to configure again, and 'g' to generate and exit
- Issue command 'make'. Since you have now drinked 3 cups of coffee you might not feel like having a lunch right now. Go for nice 30-60 minutes walk outside. After that you can have lunch or dinner. Then wait a while for building of WrapITK to finish. It will take about 3-5 hours.
- Issue command 'make install' to install built WrapITK to directory defined in
CMAKE_INSTALL_PREFIX
- Go into directory ${WrapITK_source}/ExternalProjects/ItkVtkGlue
- Create build directory for ItkVtkGlue
- Go to build directory and issue command 'ccmake ${ITKVTKGLUE_SOURCE}'
- Set following settings (click 't' to toggle advanced mode on, and 'c' to configure, don't care about missing
ITK_DIR
error):-
BUILD_WRAPPERS: ON
-
CMAKE_BUILD_TYPE: Release
-
CMAKE_INSTALL_PREFIX: Same as selected for WrapITK
-
ITK_DIR: Set to your ITK build directory
-
LIBRARY_OUTPUT_PATH: Same as selected for WrapITK
-
- Click 'c' to configure (don't care about possible errors) and set
-
VTK_DIR: Set to your VTK build directory
-
CableSwig_DIR: Set to your CableSwig build directory
-
- Set the SWIG and PYTHON parameters as you set them for WrapITK. (In other words
SWIG_DIR
,SWIG_EXECUTABLE
,SWIG_VERSION
,PYTHON_EXECUTABLE
,PYTHON_INCLUDE_DIR
,PY_SITE_PACKAGES_PATH
.) - Click 'c' to configure and set
-
WrapITK_DIR: Set to WrapITK build directory
-
- Click 'c' to configure, and 'g' to generate and exit
- Issue command 'make'
- Issue command 'make install'
Get BioImageXD sources and build vtkBXD and itkBXD
- Create directory for BioImageXD sources and fetch sources using command 'svn co https://bioimagexd.svn.sourceforge.net/svnroot/bioimagexd/bioimagexd/trunk .'
- Go into directory ${BXD_SOURCE}/vtkBXD
- Create new build directory for vtkBXD
- Go into build directory and issue command 'ccmake ${VTKBXD_SOURCE}'
- Set following settings (click 't' to toggle advanced mode on, and 'c' to configure, don't care about possible errors):
-
CMAKE_BUILD_TYPE: Release
-
CMAKE_INSTALL_PREFIX: Same as selected for VTK
-
VTK_DIR: Set to your VTK build directory
-
- Click 'c' to configure, 'c' to configure, and 'g' to generate and exit
- If you receive a vtkImageMaskAutoThresholdColocalization.cxx related error, remove it from the list in the Processing/CMakeLists.txt file in the vtkBXD source directory.
- Issue command 'make'
- Issue command 'make install'
- We're aware that the install files are placed in a python2.6 directory. This will be fixed in a future update. It will not cause any issues other than having to setup your PYTHONPATH
- Go into directory ${BXD_SOURCE}/itkBXD
- Create new build directory for itkBXD
- Go into build directory and issue command 'ccmake ${ITKBXD_SOURCE}'
- Set following settings (click 't' to toggle advanced mode on, and 'c' to configure, don't care about possible errors):
-
CMAKE_BUILD_TYPE: Release
-
CMAKE_INSTALL_PREFIX: Same as selected for WrapITK
-
ITK_DIR: Set to your ITK build directory
-
WrapITK_DIR: Set to your WrapITK build directory
-
LIBRARY_OUTPUT_PATH: Same as selected for WrapITK
-
- Set the SWIG and PYTHON parameters as you set them for WrapITK. (In other words
SWIG_DIR
,SWIG_EXECUTABLE
,SWIG_VERSION
,PYTHON_EXECUTABLE
,PYTHON_INCLUDE_DIR
,PY_SITE_PACKAGES_PATH
.) - Click 'c' to configure, 'c' to configure and 'g' to generate and exit
- Issue command 'make'
- Issue command 'make install'
Final setup
- Using the Terminal application, issue the following command 'pico ~/.bash_profile'. If everything has gone according to plan, you should only need to set up the two following environment variables:
-
export DYLD_LIBRARY_PATH=${CMAKE_INSTALL_PREFIX}/lib/vtk-5.6/:$DYLD_LIBRARY_PATH
-
export PYTHONPATH=${CMAKE_INSTALL_PREFIX}/lib/python2.6/site-packages/:$PYTHONPATH
-
- NOTE: ${CMAKE_INSTALL_PREFIX} should be replaced with your install directory. For example, if your install directory was /usr/local, it should read: /usr/local/lib/vtk-5.6/ etc. Unless you have other libraries installed at these locations you should be good to go. Simply go to the directory where you downloaded the BXD source and issue python BioImageXD.py.