Build in Mac OSX
Line 13: | Line 13: | ||
# 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 | # 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 | # Extract package | ||
− | # Go to directory | + | # Create new build directory for building VTK |
+ | # Go to build directory and issue command 'ccmake ${PATH_TO_VTK_SOURCE}' | ||
# Set following settings (click 't' to toggle advanced mode on, and 'c' to configure): | # Set following settings (click 't' to toggle advanced mode on, and 'c' to configure): | ||
#: <code>BUILD_SHARED_LIBS: ON</code> | #: <code>BUILD_SHARED_LIBS: ON</code> | ||
Line 25: | Line 26: | ||
# Click 'c' to configure and 'g' to generate and exit | # 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 | # Issue command 'make', get a cup of coffee and wait about 30-60 minutes for VTK to get build | ||
− | # Set <code>${VTK_INSTALL_DIR}/lib/python2. | + | # Set <code>${VTK_INSTALL_DIR}/lib/python2.7/site-packages/</code> to <code>PYTHONPATH</code> 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 <code>CMAKE_INSTALL_PREFIX</code> | # Issue command 'make install' to install built VTK to directory defined in <code>CMAKE_INSTALL_PREFIX</code> | ||
Line 33: | Line 34: | ||
# 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 | # 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 | # Extract package | ||
− | # Go to directory | + | # Create new build directory for building ITK |
+ | # Go to build directory and issue command 'ccmake ${PATH_TO_ITK_SOURCE}' | ||
# Set following settings (click 't' to toggle advanced mode on, and 'c' to configure): | # Set following settings (click 't' to toggle advanced mode on, and 'c' to configure): | ||
#: <code>BUILD_EXAMPLES: OFF</code> | #: <code>BUILD_EXAMPLES: OFF</code> |
Revision as of 08:56, 5 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
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 ${PATH_TO_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
-
- 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
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 ${PATH_TO_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
- Go to directory where you extracted CableSwig source and issue command 'ccmake .'
- 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 .'
- Issue command 'ccmake .'
- 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 (you can leave it ON if you want, increases compilation time)
-
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 root directory of your ITK sources
-
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 root directory of your CableSwig sources
-
WRAP_ITK_PYTHON: ON
-
INSTALL_WRAP_ITK_COMPATIBILITY: OFF (if you don't have admin rights)
-
- 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
- Issue command 'ccmake .'
- 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 root directory of ITK sources
-
LIBRARY_OUTPUT_PATH: Same as selected for wrapITK
-
- Click 'c' to configure (don't care about possible errors) and set
-
VTK_DIR: Set to root directory of VTK sources
-
- Click 'c' to configure and set
-
WrapITK_DIR: Set to root directory of wrapITK sources
-
- 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
- Issue command 'ccmake .'
- 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 root directory of VTK sources
-
- Click 'c' to configure, 'c' to configure, and 'g' to generate and exit
- Issue command 'make'
- Issue command 'make install'
- Go into directory ${BXD_source}/itkBXD
- Issue command 'ccmake .'
- 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 root directory of ITK sources
-
WrapITK_DIR: Set to root directory of wrapITK sources
-
LIBRARY_OUTPUT_PATH: Same as selected for wrapITK
-
- Click 'c' to configure, 'c' to configure and 'g' to generate and exit
- Issue command 'make'
- Issue command 'make install'
Final setup
Now you can go to root of BioImageXD source and launch BioImageXD by 'python BioImageXD.py'. Depending where you installed libraries, you might need to set PYTHONPATH and/or LD_LIBRARY_PATH. You might even want to set path to your shared libraries to /etc/ld.so.conf.d if your built libs aren't in path already, and you have permission to write to /etc/ld.so.conf.d. If you don't have any additional rights and you have built BioImageXD outside any previously defined paths, you can set PYTHONPATH and LD_LIBRARY_PATH
as (notice building of VTK, part 8):
PYTHONPATH=${VTK_INSTALL_PATH}/lib/python2.6/site-packages/VTK-5.6.1-py2.6.egg/:${VTK_INSTALL_PATH}/lib/python2.6/site-packages/:${WRAPITK_SOURCE}/Languages/Python/:${WRAPITK_INSTALL_PATH}/lib/InsightToolkit/WrapITK/Python
LD_LIBRARY_PATH=${VTK_INSTALL_PATH}/lib/vtk-5.6/:${VTK_INSTALL_PATH}/lib/:${ITK_INSTALL_PATH}/lib/InsightToolkit