Documentation/4.10/Developers/FAQ/Building
For the latest Slicer documentation, visit the read-the-docs. |
Contents
- 1 Building
- 1.1 How is organized the Slicer build tree ?
- 1.2 What is a clean build ?
- 1.3 What to do if QtSDK installer hangs ?
- 1.4 Which minimum version of GLIBC is needed to build Slicer ?
- 1.5 What to do if Visual Studio compiler crashes ?
- 1.6 How to build Slicer with SSL support ?
- 1.7 Why Qt 4 >= 4.8.5 should be used on Ubuntu 12.04 and above ?
- 1.8 Why distributed CMake can not be used on Ubuntu 12.04 and above ?
Building
How is organized the Slicer build tree ?
The Slicer build tree has two levels:
~/Projects/Slicer-SuperBuild
~/Projects/Slicer-SuperBuild/Slicer-build
The first level manages all the external dependencies of Slicer (VTK, ITK, Python, ...). The second level is the "traditional" build directory of Slicer.
See Slicer directory structure
What is a clean build ?
Doing a clean build means that
(1) all directories and files in the top-level build directory ~/Projects/Slicer-SuperBuild
are removed.
and
(2) you updated your source checkout and have no locally modified files.
What to do if QtSDK installer hangs ?
If QtSDK installer hangs, use -style cleanlooks
command line option. For details, see here.
Which minimum version of GLIBC is needed to build Slicer ?
The minimum version of GLIBC required to build Slicer is defined by the minimum version required by the pre-compiler binaries used when building Slicer. In our case, a small pre-compiled executable called the CTK AppLauncher is downloaded and used at configure and build time each time python has to be invoked.
The precompiled CTKAppLauncher imposes the following requirements regarding GLIBC and GLIBCXX libraries installed on your system:
$ strings CTKAppLauncher | ack GLIBC GLIBC_2.2.5 GLIBCXX_3.4.11 GLIBCXX_3.4.9 GLIBCXX_3.4 GLIBC_2.3.3 GLIBC_2.3.2 GLIBC_2.4 GLIBC_2.3
To check that your system provides the required GLIBCXX and GLIB versions, you could run the following command and check that the requirement of the launcher can be satisfied:
$ strings /usr/lib/libstdc++.so.6 | grep GLIBCXX GLIBCXX_3.4 GLIBCXX_3.4.1 GLIBCXX_3.4.2 GLIBCXX_3.4.3 GLIBCXX_3.4.4 GLIBCXX_3.4.5 GLIBCXX_3.4.6 GLIBCXX_3.4.7 GLIBCXX_3.4.8 GLIBCXX_3.4.9 GLIBCXX_3.4.10 GLIBCXX_3.4.11 GLIBCXX_3.4.12 GLIBCXX_3.4.13 GLIBCXX_3.4.14 GLIBCXX_3.4.15 GLIBCXX_3.4.16 GLIBCXX_3.4.17
$ strings /lib/libc.so.6 | grep GLIBC GLIBC_2.2.5 GLIBC_2.2.6 GLIBC_2.3 GLIBC_2.3.2 GLIBC_2.3.3 GLIBC_2.3.4 GLIBC_2.4 GLIBC_2.5 GLIBC_2.6 GLIBC_2.7 GLIBC_2.8 GLIBC_2.9 GLIBC_2.10 GLIBC_2.11
What to do if Visual Studio compiler crashes ?
If the compiler crashes on Windows saying "Microsoft C/C++ Compiler Driver has stopped working", then it's most probably due to long build folder paths. To fix this the Slicer build directory should be moved and/or renamed. A typical build folder path is C:\S4D
How to build Slicer with SSL support ?
To build Slicer with SSL support, you need to build (or download) Qt with SSL support and configure Slicer with -DSlicer_USE_PYTHONQT_WITH_OPENSSL:BOOL=ON
Why Qt 4 >= 4.8.5 should be used on Ubuntu 12.04 and above ?
See Slicer issue #3325
Why distributed CMake can not be used on Ubuntu 12.04 and above ?
- http://slicer-devel.65872.n3.nabble.com/PYTHON-INCLUDE-DIR2-when-building-Slicer4-td4028557.html
- Slicer issue #3103
- Slicer issue #3116
- CMake issue #14156