- 1 PREREQUISITES
- 1.1 Linux
- 1.2 MacOSX
- 1.3 Windows
For all systems be sure git-lfs is properly installed for use with VTKv9 (required for VTKm checkout)
As of early 2018, Slicer migrated to Qt5. See instructions at this labs page for the new requirements: https://www.slicer.org/wiki/Documentation/Labs/Qt5-and-VTK8
The prerequisites listed below are required to be able to configure/build/package/test Slicer.
- CMake >= 3.7-rc02
- Git >= 1.7.10
- Svn >= 1.7
- Qt 5.11: tested and recommended
- To build Slicer: install Qt using the distribution package manager.
- To package and redistribute Slicer: download and execute qt-unified-linux-x64-online.run, install Qt, make sure to select qtscript and qtwebengine components.
- Qt 4.8.7. See details here. See some history here (Note that any version >= Qt 4.7.4 can be used only for Ubuntu < 12.04)
- GCC suite
- Debian squeeze/wheezy/testing(jessie) users, start by pasting the following lines in a terminal
sudo apt-get install subversion git-core git-svn sudo apt-get install build-essential libx11-dev libxt-dev libgl1-mesa-dev libosmesa6-dev libglu1-mesa-dev libfontconfig-dev libxrender-dev libncurses5-dev sudo apt-get install cmake sudo apt-get install qt-sdk
sudo apt-get install subversion git-core git-svn
sudo apt-get install make gcc g++ libx11-dev libxt-dev libgl1-mesa-dev libglu1-mesa-dev libfontconfig-dev libxrender-dev libncurses5-dev
sudo apt-get install libosmesa6-dev # Only for Ubuntu < 14.04.3
- For Qt5.5 on Ubuntu 16.04
sudo apt-get install libgstreamer-plugins-base0.10-dev
- Open a terminal and copy the command reported below
- Download stable version of CMake and extract the archive:
sudo apt-get install curl mkdir ~/Support && cd ~/Support curl -O https://cmake.org/files/v3.8/cmake-3.8.2-Linux-x86_64.tar.gz tar -xzvf cmake-3.8.2-Linux-x86_64.tar.gz
- Create symbolic links into
mkdir -p ~/bin for name in cmake ctest cpack ccmake cmake-gui; do ln -s ~/Support/cmake-3.8.2-Linux-x86_64/bin/$name ~/bin/$name done
Qt 4 (deprecated)
Ubuntu 14.04 and above: Qt 4 == 4.8.7 MUST be used.
or on ubuntu 16.04 and 16.10, you can also install qt4.8.7 with:
sudo apt-get install qt4-dev-tools libqt4-dev libqt4-core libqt4-gui libqtwebkit-dev
or if that fails (due to libqt4-core and libqt4-gui packages not found):
sudo apt-get install qt4-dev-tools libqt4-dev libqtcore4 libqtgui4 libqtwebkit-dev
Ubuntu 12.04, 12.10, 13.04 and 13.10: Qt 4 >= 4.8.5 MUST be used.
cd ~/Support # This is where we will build Qt and dependent libraries # Keep track of our working directory cwd=$(pwd) # This will download, then build zlib and openssl in the current folder rm -f get-and-build-openssl-for-slicer.sh wget https://gist.githubusercontent.com/jcfr/9513568/raw/004d4af8829c95690da2af51eaa3f0c64b7c4e02/get-and-build-openssl-for-slicer.sh chmod u+x get-and-build-openssl-for-slicer.sh ./get-and-build-openssl-for-slicer.sh # This will download Qt source in the current folder wget http://packages.kitware.com/download/item/6175/qt-everywhere-opensource-src-4.8.6.tar.gz echo "2edbe4d6c2eff33ef91732602f3518eb qt-everywhere-opensource-src-4.8.6.tar.gz" > qt-everywhere-opensource-src-4.8.6.tar.gz.md5 md5sum -c qt-everywhere-opensource-src-4.8.6.tar.gz.md5 # This will configure and build Qt in RELEASE against the zlib and openssl previously built tar -xzvf qt-everywhere-opensource-src-4.8.6.tar.gz mv qt-everywhere-opensource-src-4.8.6 qt-everywhere-opensource-release-src-4.8.6 mkdir qt-everywhere-opensource-release-build-4.8.6 cd qt-everywhere-opensource-release-src-4.8.6 ./configure -prefix $cwd/qt-everywhere-opensource-release-build-4.8.6 \ -release \ -opensource -confirm-license \ -no-qt3support \ -webkit \ -nomake examples -nomake demos \ -openssl -I $cwd/openssl-1.0.1e/include -L $cwd/openssl-1.0.1e \ && make -j7 && make install
For more details, consider reading the FAQ entry: Why Qt 4 >= 4.8.5 should be used on Ubuntu 12.04 and above ?
See instructions reported in qt5-centos7/Dockerfile
- XCode command line tools must be installed:
- El Capitan is what most developers use.
- CMake 3.7-rc02 is recommended. Check the minimum required CMake version here
- Qt 5: tested and recommended.
MacOSX 10.9.4 (Mavericks)
(1) Make sure to install this update: http://support.apple.com/kb/DL1754
(2) Use CMake 3.0.1 - it is known to be working and is supported (if you want to use CMake already installed on your system, 22.214.171.124 is known to work on Mac OS X 10.9.5)
- Mac Os X >= 10.5 (Leopard)
- CMake >= 2.8.9
- For Mac Os X >= 10.8 (Mountain Lion) and/or recent XCode >= 4.5.X - CMake >= 2.8.11 is required. See http://www.cmake.org/files/v2.8/cmake-2.8.11-Darwin64-universal.tar.gz
$ curl -O http://www.cmake.org/files/v2.8/cmake-2.8.11-Darwin64-universal.tar.gz $ tar -xzvf cmake-2.8.11-Darwin64-universal.tar.gz --strip-components=1
$ CMake\ 2.8-11.app/Contents/bin/cmake --version cmake version 2.8.11
- Git >= 1.7.10
- Svn >= 1.7
- XCode (for the SDK libs)
- After installing XCode, install XCode command line developer tools:
- XQuartz - For Mac Os X >= 10.8 (Mountain Lion) install XQuartz (http://xquartz.macosforge.org) to get X11 (no longer a default in OS X).
- Qt 4 >= 4.8.5. We recommend you install the following two packages:
Mac OSX 10.11 (El Capitan)
XCode up to version 7 is known to work for Slicer compilation. XCode 8 breaks things on several levels for now. Remember to install XCode command line tools (see above) if a reinstall for XCode is needed.
The standard Qt4 installers fail on this version and the 4.8.6 source code won't build. But as described on the slicer-devel mailing list it is possible to install the homebrew version of qt4 which patches it to work on El Capitan (see below).
- Install the OS, Xcode, and XQuartz (see MacOSX 10.10 above)
- Install Qt4 by running the following two commands:
brew install qt4 xcode-select --install
- TCL does not build correctly on El Capitan as of 2015-12-03, so when building Slicer turn `Slicer_USE_PYTHONQT_WITH_TCL` off.
Mac OSX 10.12 (Sierra)
Similar to 10.11 (El Capitan), there are new issues with Qt4 (caused by Phonon). The GitHub user Cartr offered a patch to the brew team, and even though it was not integrated (the homebrew team decided to stop patching their recipe to encourage people to use Qt5), he turned his formula into a tap that can be installed (see below).
Follow instructions for 10.11 (Installing Xcode, XQuartz, run without TCL) but install Qt4 like shown below instead:
brew install cartr/qt4/qt xcode-select --install
Confirmed with Xcode:
- Version 8.1 (8B62) and cmake version 3.4.20151021-g8fbc8e
- Version 8.3.3 and cmake 3.5.2
- CMake >= 3.0 (3.7.1 recommended)
- Git >= 1.7.10
- For convenience, you could update the PATH variable so that git can be automatically discovered when configuring Slicer. If not, you will have to specify the GIT_EXECUTABLE at configure time.
- Subversion (SVN) client: any SVN client that has command line tools
- NSIS (optional): Needed if packaging Slicer - Click here to download. Make sure you install the language packs.
Tested and recommended build environment
- Make sure you enable installation of component Programming languages / Visual C++ / Common Tools for Visual C++ 2015 (in some distributions, this option is not enabled by default)
- Installation of Cumulative Servicing Release for Microsoft Visual Studio 2015 Update 3 (KB3165756) is required on some older VS2015 distributions
- Qt 5.10
- CMake >= 3.3.1
Experimental/deprecated build environments
- Visual Studio 2017 (Community or any other edition) with VS2015 build tools (tested, works well)
- When configuring Visual Studio installer, enable installation of component VC++ 2015.3 v14.00 (v140) toolset for desktop
- Visual Studio 2015 toolset must be set in CMake: Optional toolset to use (argument to -T) need to be set to v140
- Visual Studio 2013 with Update 5 (deprecated, should still work)
- VS2012 (untested, may work)
- Use a desktop version such as Visual Studio 2012 Express for Windows Desktop and remember Visual Studio 2012 Update 2). Do not use Visual Studio Express 2012 for Windows 8. You must install Windows SDK, otherwise CMake will not even find the C compiler during configure. In CMake, choose Visual Studio 11 Win64 as generator.
- VS2010 (untested, probably does not work)
- VS2008 (untested, probably does not work)
- Cygwin (untested, probably does not work)
- Cygwin suite (building with cygwin gcc not supported, but the cygwin shell environment can be used to run git, svn, etc).