Documentation/Nightly/Developers/Build Instructions/Prerequisites

From Slicer Wiki
Revision as of 13:21, 12 June 2014 by Lasso (talk | contribs) (Updated Windows CMake requirement to at >=2.8.10, as CMAKE_CXX_COMPILER_VERSION is required and it is introduced in 2.8.10)
Jump to: navigation, search
Home < Documentation < Nightly < Developers < Build Instructions < Prerequisites


For the latest Slicer documentation, visit the read-the-docs.


PREREQUISITES


Please check that the following tools are installed on your machine.






Consider reading platform specific requirements listed below.

Linux

  • CMake >= 2.8.9
  • Git >= 1.6.5
  • Svn
  • Qt 4.8.5. See details here (Note that any version >= Qt 4.7.4 can be used for Ubuntu < 12.04)

Ubuntu / Debian

  • Ubuntu, Debian squeeze/wheezy/testing(jessie) users, just type the following line in a terminal
sudo apt-get install subversion git-core git-svn
sudo apt-get install make gcc g++ 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

For Ubuntu 12.04, 12.10 and 13.04: You MUST download and build the standard cmake from http://cmake.org/ because the distributed version of cmake cannot be used to build slicer.

mkdir ~/Support && cd Support     # This is where we will download and install required software

# By copying this one-liner in your terminal, it will download and build CMake
cmake_package="cmake-2.8.11.2"; \
wget http://www.cmake.org/files/v2.8/$cmake_package.tar.gz -v -O $cmake_package.tar.gz && \
tar -xzvf $cmake_package.tar.gz; \
cd $cmake_package && \
cmake -DCMAKE_USE_OPENSSL:BOOL=ON && \
make -j4

# By copying this one-liner, symbolic links to cmake tools will be created in /usr/local/bin. 
# That way calling cmake, ctest, ... from the command line will resolve to this version of CMake.
for tool in cmake ccmake ctest cpack; do sudo ln -s ~/Support/$cmake_package/bin/$tool /usr/local/bin/$tool; done

For Ubuntu 12.04, 12.10, 13.04 and 13.10: Qt >= 4.8.5 MUST be used. See reference below for more details.

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
wget https://gist.githubusercontent.com/jcfr/9513568/raw/21f4e4cabca5ad03435ecc17ab546dab5e2c1a2f/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://download.qt-project.org/official_releases/qt/4.8/4.8.5/qt-everywhere-opensource-src-4.8.5.tar.gz

# This will configure and build Qt in RELEASE against the zlib and openssl previously built
tar -xzvf qt-everywhere-opensource-src-4.8.5.tar.gz
mv qt-everywhere-opensource-src-4.8.5 qt-everywhere-opensource-release-src-4.8.5
mkdir qt-everywhere-opensource-release-build-4.8.5
cd qt-everywhere-opensource-release-src-4.8.5
./configure -prefix $cwd/qt-everywhere-opensource-release-build-4.8.5/    \
                   -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

References:

  • Why Qt 4.8.5 should be used on Ubuntu 12.04 and above ?

CentOS

  • CentOS user type:
yum install make gcc-c++ libX11-devel libXt-devel libXext-devel libGLU-devel mesa-libOSMesa-devel mesa-libGL-devel mesa-libGLU-devel ncurses


MacOSX

$ 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

Windows

  • CMake >= 2.8.10
  • Qt 4.7.4 or greater (for VS2008). See details here
  • Git-X.X.X-preview2013XXXX.exe recommended.
    • Note 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.
  • SlikSvn . If using TortoiseSVN (versions that support command line tools), make sure you install Command line tools (disabled by default)
  • NSIS (optional): Needed if packaging Slicer - Click here to download.
  • IDE
    • Un-tested: Cygwin suite (building with cygwin gcc not supported, but the cygwin shell environment can be used to run git, svn, etc).