Difference between revisions of "Documentation/Nightly/Developers/Build Instructions/Prerequisites"

From Slicer Wiki
Jump to: navigation, search
Line 139: Line 139:
 
&& make -j7 && make install
 
&& make -j7 && make install
 
</pre>
 
</pre>
 
<small>
 
References:
 
 
* Why Qt 4 >= 4.8.5 should be used on Ubuntu 12.04 and above ?
 
** Slicer issue [http://www.na-mic.org/Bug/view.php?id=3325 #3325]
 
</small>
 
  
 
==== CentOS ====
 
==== CentOS ====

Revision as of 17:23, 6 July 2016

Home < Documentation < Nightly < Developers < Build Instructions < Prerequisites


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


PREREQUISITES


Consider reading platform specific requirements listed below.

Linux

  • CMake >= 3.x
  • Git >= 1.7.10
  • Svn >= 1.7
  • Qt 4.8.6. See details here. See some history here (Note that any version >= Qt 4.7.4 can be used only for Ubuntu < 12.04)

Debian

  • 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 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

Ubuntu

  • Ubuntu users, start by pasting the following lines 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 libglu1-mesa-dev libfontconfig-dev libxrender-dev libncurses5-dev


For Ubuntu < 12.04:

sudo apt-get install cmake # Only for Ubuntu < 12.04

For Ubuntu < 14.04.3:

sudo apt-get install libosmesa6-dev
  • NOTE: on Ubuntu 14.04.3 LTS, attempting to install libosmesa6-dev results in an error:
The following packages have unmet dependencies:
 libosmesa6-dev : Depends: libosmesa6 (= 10.1.3-0ubuntu0.4) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

See Bug 1424059.

Slicer compiles successfully without that package, but VTK_OPENGL_HAS_OSMESA is disabled.

For Ubuntu 12.04 and above: You *MUST download the standard CMake binary* from http://cmake.org/download because the distributed version of CMake cannot be used to build slicer. For example, on a 64-bit system, you will download the file cmake-X.Y.Z-Linux-x86_64.tar.gz associated with the latest stable version.

References:


For Ubuntu 12.04, 12.10, 13.04 and 13.10: Qt 4 >= 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
rm -f get-and-build-openssl-for-slicer.sh
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://packages.kitware.com/download/item/6175/qt-everywhere-opensource-src-4.8.6.tar.gz
md5=`md5sum ./qt-everywhere-opensource-src-4.8.6.tar.gz | awk '{ print $1 }'` &&
[ $md5 == "2edbe4d6c2eff33ef91732602f3518eb" ] || echo "MD5 mismatch. Problem downloading Qt"

# 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

CentOS

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


MacOSX

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, 2.8.12.2 is known to work on Mac OS X 10.9.5)

$ 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:
xcode-select --install

Mac OSX 10.11 (El Capitan)

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.

After installing the OS and Xcode, run 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.

Windows

Common Prerequisites

  • CMake >= 3.0
  • Git >= 1.7.10
    • 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.
  • Qt: See details here.

Tested and recommended build environment

  • Visual Studio 2013 with Update 5, as of commit 7160260: Slicer compilation is successful, with some caveats.
    • CMake >= 3.3.1
    • Build Qt 4.8.7 with SSL support using qt-easy-build.
    • For Debug mode, disable Slicer_USE_SimpleITK in CMake.

Experimental/deprecated build environments