Build in Linux

(Difference between revisions)
Jump to: navigation, search
Line 27: Line 27:
  
 
Building ITK
 
Building ITK
1. Download ITK 3.20.1 (ITK 4.x.x will not work, we'll updated 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 updated this guide when we move to ITK 4), http://sourceforge.net/projects/itk/files/itk/3.20/InsightToolkit-3.20.1.tar.gz/download
2. Extract package
+
# Extract package
3. Go to directory where you extracted ITK source and issue command 'ccmake .'
+
# Go to directory where you extracted ITK source and issue command 'ccmake .'
4. 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):
 
BUILD_EXAMPLES: OFF (you can leave it ON if you want, increases compilation time)
 
BUILD_EXAMPLES: OFF (you can leave it ON if you want, increases compilation time)
 
BUILD_SHARED_LIBS: ON
 
BUILD_SHARED_LIBS: ON
Line 39: Line 39:
 
ITK_USE_REVIEW: ON
 
ITK_USE_REVIEW: ON
 
ITK_USE_REVIEW_STATISTICS: ON
 
ITK_USE_REVIEW_STATISTICS: ON
5. Click 'c' to configure (don't care about attentions) and 'g' to generate and exit
+
# Click 'c' to configure (don't care about attentions) and 'g' to generate and exit
6. Issue command 'make', get another cup of coffee and wait about 10 minutes for ITK to get build
+
# Issue command 'make', get another cup of coffee and wait about 10 minutes for ITK to get build
7. Issue command 'make install' to install built ITK to directory defined in CMAKE_INSTALL_PREFIX
+
# Issue command 'make install' to install built ITK to directory defined in CMAKE_INSTALL_PREFIX
  
 
Building CableSwig (needed for wrapITK)
 
Building CableSwig (needed for wrapITK)
1. Download CableSwig-ITK 3.20.0, http://voxel.dl.sourceforge.net/sourceforge/itk/CableSwig-ITK-3.20.0.tar.gz
+
# Download CableSwig-ITK 3.20.0, http://voxel.dl.sourceforge.net/sourceforge/itk/CableSwig-ITK-3.20.0.tar.gz
2. Extract package
+
# Extract package
3. Go to directory where you extracted CableSwig source and issue command 'ccmake .'
+
# Go to directory where you extracted CableSwig source and issue command 'ccmake .'
4. 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):
 
CMAKE_BUILD_TYPE: Release
 
CMAKE_BUILD_TYPE: Release
 
CMAKE_INSTALL_PREFIX: Change to somewhere where you have write access if you don't have admin rights
 
CMAKE_INSTALL_PREFIX: Change to somewhere where you have write access if you don't have admin rights
5. Click 'c' to configure and 'g' to generate and exit
+
# Click 'c' to configure and 'g' to generate and exit
6. Issue command 'make', get another cup of coffee and wait about 5 minutes for CableSwig to get build
+
# Issue command 'make', get another cup of coffee and wait about 5 minutes for CableSwig to get build
7. Issue command 'make install' to install built ITK to directory defined in CMAKE_INSTALL_PREFIX
+
# Issue command 'make install' to install built ITK to directory defined in CMAKE_INSTALL_PREFIX
  
 
Building wrapITK (the long-lasting part)
 
Building wrapITK (the long-lasting part)
1. Create directory for wrapITK source
+
# Create directory for wrapITK source
2. Go to directory and fetch sources using command 'svn checkout http://wrapitk.googlecode.com/svn/branches/maint .'
+
# Go to directory and fetch sources using command 'svn checkout http://wrapitk.googlecode.com/svn/branches/maint .'
3. Issue command 'ccmake .'
+
# Issue command 'ccmake .'
4. Set following settings (click 't' to toggle advanced mode on, and 'c' to configure, don't care about missing ITK_DIR error):
+
# 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)
 
BUILD_TESTING: OFF (you can leave it ON if you want, increases compilation time)
 
CMAKE_BUILD_TYPE: Release
 
CMAKE_BUILD_TYPE: Release
Line 65: Line 65:
 
WRAP_unsigned_char: ON
 
WRAP_unsigned_char: ON
 
WRAP_unsigned_long: ON
 
WRAP_unsigned_long: ON
5. Click 'c' to configure (don't care about possible errors) and set
+
# Click 'c' to configure (don't care about possible errors) and set
 
CableSwig_DIR: Set to root directory of your CableSwig sources
 
CableSwig_DIR: Set to root directory of your CableSwig sources
 
WRAP_ITK_PYTHON: ON
 
WRAP_ITK_PYTHON: ON
 
INSTALL_WRAP_ITK_COMPATIBILITY: OFF (if you don't have admin rights)
 
INSTALL_WRAP_ITK_COMPATIBILITY: OFF (if you don't have admin rights)
6. Click 'c' to configure, nothing to set so click 'c' to configure again, and 'g' to generate and exit
+
# Click 'c' to configure, nothing to set so click 'c' to configure again, and 'g' to generate and exit
7. 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'. 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.
8. Issue command 'make install' to install built wrapITK to directory defined in CMAKE_INSTALL_PREFIX
+
# Issue command 'make install' to install built wrapITK to directory defined in CMAKE_INSTALL_PREFIX
9. Go into directory ${wrapITK_source}/ExternalProjects/ItkVtkGlue
+
# Go into directory ${wrapITK_source}/ExternalProjects/ItkVtkGlue
10. Issue command 'ccmake .'
+
# Issue command 'ccmake .'
11. Set following settings (click 't' to toggle advanced mode on, and 'c' to configure, don't care about missing ITK_DIR error):
+
# 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
 
BUILD_WRAPPERS: ON
 
CMAKE_BUILD_TYPE: Release
 
CMAKE_BUILD_TYPE: Release
Line 80: Line 80:
 
ITK_DIR: Set to root directory of ITK sources
 
ITK_DIR: Set to root directory of ITK sources
 
LIBRARY_OUTPUT_PATH: Same as selected for wrapITK
 
LIBRARY_OUTPUT_PATH: Same as selected for wrapITK
12. Click 'c' to configure (don't care about possible errors) and set
+
# Click 'c' to configure (don't care about possible errors) and set
 
VTK_DIR: Set to root directory of VTK sources
 
VTK_DIR: Set to root directory of VTK sources
13. Click 'c' to configure and set
+
# Click 'c' to configure and set
 
WrapITK_DIR: Set to root directory of wrapITK sources
 
WrapITK_DIR: Set to root directory of wrapITK sources
14. Click 'c' to configure, and 'g' to generate and exit
+
# Click 'c' to configure, and 'g' to generate and exit
15. Issue command 'make'
+
# Issue command 'make'
16. Issue command 'make install'
+
# Issue command 'make install'
  
 
Get BioImageXD sources and build vtkBXD and itkBXD
 
Get BioImageXD sources and build vtkBXD and itkBXD
1. Create directory for BioImageXD sources and fetch sources using command 'svn co https://bioimagexd.svn.sourceforge.net/svnroot/bioimagexd/bioimagexd/trunk .'
+
# Create directory for BioImageXD sources and fetch sources using command 'svn co https://bioimagexd.svn.sourceforge.net/svnroot/bioimagexd/bioimagexd/trunk .'
2. Go into directory ${BXD_source}/vtkBXD
+
# Go into directory ${BXD_source}/vtkBXD
3. Issue command 'ccmake .'
+
# Issue command 'ccmake .'
4. Set following settings (click 't' to toggle advanced mode on, and 'c' to configure, don't care about possible errors):
+
# 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_BUILD_TYPE: Release
 
CMAKE_INSTALL_PREFIX: Same as selected for VTK
 
CMAKE_INSTALL_PREFIX: Same as selected for VTK
 
VTK_DIR: Set to root directory of VTK sources
 
VTK_DIR: Set to root directory of VTK sources
5. Click 'c' to configure, 'c' to configure, and 'g' to generate and exit
+
# Click 'c' to configure, 'c' to configure, and 'g' to generate and exit
6. Issue command 'make'
+
# Issue command 'make'
7. Issue command 'make install'
+
# Issue command 'make install'
8. Go into directory ${BXD_source}/itkBXD
+
# Go into directory ${BXD_source}/itkBXD
9. Issue command 'ccmake .'
+
# Issue command 'ccmake .'
10. Set following settings (click 't' to toggle advanced mode on, and 'c' to configure, don't care about possible errors):
+
# 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_BUILD_TYPE: Release
 
CMAKE_INSTALL_PREFIX: Same as selected for wrapITK
 
CMAKE_INSTALL_PREFIX: Same as selected for wrapITK
Line 107: Line 107:
 
WrapITK_DIR: Set to root directory of wrapITK sources
 
WrapITK_DIR: Set to root directory of wrapITK sources
 
LIBRARY_OUTPUT_PATH: Same as selected for wrapITK
 
LIBRARY_OUTPUT_PATH: Same as selected for wrapITK
11. Click 'c' to configure, 'c' to configure and 'g' to generate and exit
+
# Click 'c' to configure, 'c' to configure and 'g' to generate and exit
12. Issue command 'make'
+
# Issue command 'make'
13. Issue command 'make install'
+
# Issue command 'make install'
  
 
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 you 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 build BioImageXD outside any previously defined paths, you can set PYTHONPATH and LD_LIBRARY_PATH as (notice building of VTK, part 8):
 
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 you 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 build 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
 
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
 
LD_LIBRARY_PATH=${VTK_INSTALL_PATH}/lib/vtk-5.6/:${VTK_INSTALL_PATH}/lib/:${ITK_INSTALL_PATH}/lib/InsightToolkit

Revision as of 06:38, 23 January 2012

These instructions give details how we build all necessary libraries and setup BioImageXD in Linux. Same instructions have been used in Ubuntu and Fedora distros, and most likely work in other distros as well. 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.

Prerequisite:

Building VTK

  1. 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
  2. Extract package
  3. Go to directory where you extracted VTK source and issue command 'ccmake .'
  4. Set following settings (click 't' to toggle advanced mode on, and 'c' to configure):

BUILD_SHARED_LIBS: ON BUILD_TESTING: OFF (you can leave it ON if you want, increases compilation time) CMAKE_BUILD_TYPE: Release CMAKE_INSTALL_PREFIX: Change to somewhere where you have write access if you don't have admin rights VTK_USE_PARALLEL: ON VTK_WRAP_PYTHON: ON

  1. Click 'c' to configure and set

VTK_USE_TK: OFF

  1. Click 'c' to configure and 'g' to generate and exit
  2. Issue command 'make', get a cup of coffee and wait about 30-60 minutes for VTK to get build
  3. Set ${VTK_INSTALL_DIR}/lib/python2.6/site-packages/ to PYTHONPATH so you can install VTK correctly, if you are installing VTK outside path
  4. Issue command 'make install' to install built VTK to directory defined in CMAKE_INSTALL_PREFIX

Building ITK

  1. Download ITK 3.20.1 (ITK 4.x.x will not work, we'll updated this guide when we move to ITK 4), http://sourceforge.net/projects/itk/files/itk/3.20/InsightToolkit-3.20.1.tar.gz/download
  2. Extract package
  3. Go to directory where you extracted ITK source and issue command 'ccmake .'
  4. Set following settings (click 't' to toggle advanced mode on, and 'c' to configure):

BUILD_EXAMPLES: OFF (you can leave it ON if you want, increases compilation time) BUILD_SHARED_LIBS: ON BUILD_TESTING: OFF (you can leave it ON if you want, increases compilation time) CMAKE_BUILD_TYPE: Release CMAKE_INSTALL_PREFIX: Change to somewhere 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

  1. Click 'c' to configure (don't care about attentions) and 'g' to generate and exit
  2. Issue command 'make', get another cup of coffee and wait about 10 minutes for ITK to get build
  3. Issue command 'make install' to install built ITK to directory defined in CMAKE_INSTALL_PREFIX

Building CableSwig (needed for wrapITK)

  1. Download CableSwig-ITK 3.20.0, http://voxel.dl.sourceforge.net/sourceforge/itk/CableSwig-ITK-3.20.0.tar.gz
  2. Extract package
  3. Go to directory where you extracted CableSwig source and issue command 'ccmake .'
  4. Set following settings (click 't' to toggle advanced mode on, and 'c' to configure):

CMAKE_BUILD_TYPE: Release CMAKE_INSTALL_PREFIX: Change to somewhere where you have write access if you don't have admin rights

  1. Click 'c' to configure and 'g' to generate and exit
  2. Issue command 'make', get another cup of coffee and wait about 5 minutes for CableSwig to get build
  3. Issue command 'make install' to install built ITK to directory defined in CMAKE_INSTALL_PREFIX

Building wrapITK (the long-lasting part)

  1. Create directory for wrapITK source
  2. Go to directory and fetch sources using command 'svn checkout http://wrapitk.googlecode.com/svn/branches/maint .'
  3. Issue command 'ccmake .'
  4. 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 somewhere where you have write access if you don't have admin rights ITK_DIR: Set to root directory of your ITK sources WRAP_unsigned_char: ON WRAP_unsigned_long: ON

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

  1. Click 'c' to configure, nothing to set so click 'c' to configure again, and 'g' to generate and exit
  2. 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.
  3. Issue command 'make install' to install built wrapITK to directory defined in CMAKE_INSTALL_PREFIX
  4. Go into directory ${wrapITK_source}/ExternalProjects/ItkVtkGlue
  5. Issue command 'ccmake .'
  6. 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

  1. Click 'c' to configure (don't care about possible errors) and set

VTK_DIR: Set to root directory of VTK sources

  1. Click 'c' to configure and set

WrapITK_DIR: Set to root directory of wrapITK sources

  1. Click 'c' to configure, and 'g' to generate and exit
  2. Issue command 'make'
  3. Issue command 'make install'

Get BioImageXD sources and build vtkBXD and itkBXD

  1. Create directory for BioImageXD sources and fetch sources using command 'svn co https://bioimagexd.svn.sourceforge.net/svnroot/bioimagexd/bioimagexd/trunk .'
  2. Go into directory ${BXD_source}/vtkBXD
  3. Issue command 'ccmake .'
  4. 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

  1. Click 'c' to configure, 'c' to configure, and 'g' to generate and exit
  2. Issue command 'make'
  3. Issue command 'make install'
  4. Go into directory ${BXD_source}/itkBXD
  5. Issue command 'ccmake .'
  6. 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

  1. Click 'c' to configure, 'c' to configure and 'g' to generate and exit
  2. Issue command 'make'
  3. Issue command 'make install'

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 you 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 build 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

Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox