Slicer 2.5 Building
Slicer relies on several powerful support libraries. Building slicer has been significantly simplified in Slicer 2.4 and Slicer 2.5 through the addition of the genlib script.
For anonymous checkout and build on most Linux and Solaris configurations, you only need to follow steps below.
- You will need a recent cvs client; version 1.12.10 is known to work.
- You will need autoconf installed (except on Windows).
- Windows users need to see special download instructions below.
- If you are using gcc, use something around gcc ver. 3.3 vintage. There have been problems compiling various support libraries using gcc ver. 4.0.
1) get an anonymous checkout
cvs -d :pserver:email@example.com:/projects/cvs/slicer login
and enter 'bwhspl' as the password and then
cvs -z3 -d :pserver:firstname.lastname@example.org:/projects/cvs/slicer checkout -r release-2-5-patches slicer2
2) build the required support libraries (Tcl/Tk, GSL, VTK, ITK)
cd slicer2 ./Scripts/genlib.tcl
3) build slicer
These steps will build the entire system for you, and you can use this as the basis for further development such as writing your own custom modules.
Like in release 2.4, not all the support libraries are easy to build on windows in Slicer 2.5, so you can download a set of precompiled binaries to build against. Insert the following substeps between steps 1) and 2).
1.a) download this file: Slicer2.4-Lib-win32.zip
1.b) unzip the contents into your slicer2 directory. You will end up with the following libraries
Lib/win32/CMake-build Lib/win32/gsl Lib/win32/tcl-build
Then continue with the build steps above.
This assumes you are building with the Microsoft Visual Studio .NET version of the development environment. If you need to use a different compiler, you need to change the GENERATOR variable in the 'slicer_variables.tcl' to 'Visual Studio 7.1'. Note that Slicer has not been fully tested on windows environments other than Microsoft Visual Studio .NET. If CMake complains that "cl" can not compile a simple test program, and you are running Visual Studio 7 .NET 2003, you need to change the GENERATOR variable to "Visual Studio 7 .NET 2003".
If you are using MS VisualStudio 6, you can download the building scripts: Slicer2-MSVC6-InstallScripts.zip. (Note that some modules may not build due to library incompatibilities).
Follow the Generic install steps, but note the extra steps described here: Slicer2.5 Patches for Mac
These steps are followed as part of the nightly build process for slicer as shown on the slicer dashboard here. Compare the builds shown on the dashboard to the system you are trying to build on.
Where to go for Help
Compilation questions can be sent to the Slicer Developer's Mailing List.
Notes specific to SPL computing environment
- gcc 3.4.6 is available in SPL environment as of Jan 2010, and can be used to build Slicer and supporting libraries. To do this, set the following environment variables before running any scripts:
- genlib script and/or CMake configuration does not always correctly set CXX compiler for the dependent libraries (VTK and ITK). There should be a better fix, but as a quick workaround, you can hard-code the compiler path in the genlib.tcl script in the sections corresponding to building vtk and itk as follows:
-DCMAKE_CXX_COMPILER:STRING=/usr/bin/g++34 \ -DCMAKE_CXX_COMPILER_FULLPATH:FILEPATH=/usr/bin/g++34 \
- default tcl/tk/itcl/iwidgets/blt libraries slicer2 is confugured with are not compatible with the current version of Linux X (as of writing this, does not work on SPL Fedora10). In order to fix this, genlib.tcl and slicer_variables.tcl need to be patched to point to more recent versions of the dependency libraries. These worked for Andrey Fedorov on Jan 14, 2010: File:PatchedScripts.tgz.