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

From Slicer Wiki
Jump to: navigation, search
(moved to readthedocs)
Tags: 2017 source edit, Replaced
 
(172 intermediate revisions by 19 users not shown)
Line 1: Line 1:
<noinclude>{{documentation/versioncheck}}</noinclude>
+
{{documentation/banner
__TOC__
+
| text  = [https://slicer.readthedocs.io/en/latest/developer_guide/build_instructions/index.html This page has been moved to read-the-docs.]
 
+
| background-color = 8FBC8F }}
== PREREQUISITES ==
 
<br>
 
<!--
 
Please check that the following tools are installed on your machine.
 
 
 
<br>
 
{{mbox
 
| type = protection
 
| text = Qt libraries are '''required'''. Consider reading [[Documentation/{{documentation/version}}/Developers/Build_Instructions/Prerequisites/Qt|Qt requirements]].
 
| image= [[{{tool|logo|qt}}|x40px]]
 
}}
 
<br>
 
 
 
{{mbox
 
| type = protection
 
| text = CMake is '''required'''.
 
| image= [[{{tool|logo|cmake}}|x40px]]
 
}}
 
<br>
 
 
 
{{mbox
 
| type = protection
 
| text = &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Git is '''required'''.
 
| image= [[{{tool|logo|git}}|x40px]]
 
}}
 
<br>
 
 
 
{{mbox
 
| type = protection
 
| text = SVN is '''required'''.
 
| image= [[{{tool|logo|svn}}|x40px]]
 
}}
 
 
 
<br>
 
-->
 
Consider reading platform specific requirements listed below.
 
 
 
=== Linux ===
 
* [{{tool|download|cmake}} CMake] >= 2.8.9
 
* [{{tool|download|git}} Git] >= 1.7.10
 
* [{{tool|download|svn}} Svn] >= 1.7
 
* Qt 4.8.5. <small>See details [http://na-mic.org/Mantis/view.php?id=3325#bugnotes here] (Note that any version >= Qt 4.7.4 can be used for Ubuntu < 12.04)</small>
 
 
 
==== 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.
 
 
 
<pre>
 
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
 
</pre>
 
 
 
'''For Ubuntu 12.04, 12.10, 13.04 and 13.10''': Qt >= 4.8.5 MUST be used. See reference below for more details.
 
 
 
<pre>
 
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.6/qt-everywhere-opensource-src-4.8.6.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.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
 
</pre>
 
 
 
References:
 
 
 
* Why cmake should be built from Source on Ubuntu 12.04 and above ?
 
** http://slicer-devel.65872.n3.nabble.com/PYTHON-INCLUDE-DIR2-when-building-Slicer4-td4028557.html
 
** Slicer issue [http://na-mic.org/Mantis/view.php?id=3103 #3103]
 
** Slicer issue  [http://na-mic.org/Mantis/view.php?id=3116#c8649 #3116]
 
** CMake issue [http://public.kitware.com/Bug/view.php?id=14156 #14156]
 
 
 
* Why Qt >= 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]
 
 
 
==== 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
 
 
 
<!--
 
Todo: This will have to be added in FAQ: Troubleshoot section
 
''glx-utils'' provides ''glxgears'' that can be used to test rendering
 
-->
 
 
 
=== MacOSX ===
 
* Mac Os X >= 10.5 (Leopard)
 
* [{{tool|download|cmake}} CMake] >= 2.8.9
 
** For Mac Os X >= 10.8 ([http://en.wikipedia.org/wiki/OS_X_Mountain_Lion Mountain Lion]) and/or recent XCode >= 4.5.X - [{{tool|download|cmake}} CMake] >= 2.8.11 is required. See http://www.cmake.org/files/v2.8/cmake-2.8.11-Darwin64-universal.tar.gz
 
<!-- Waiting for the official release, get the release candidate rc1 [http://www.cmake.org/files/v2.8/cmake-2.8.11-rc1-Darwin64-universal.tar.gz here]. For explanation, see [[Documentation/{{documentation/version}}/Developers/Build_Instructions#ld:_framework_not_found_QtWebKit|here]] and [[Documentation/{{documentation/version}}/Developers/Build_Instructions#On_MacOSX_10.8.2C_CMake_hangs_forever|here]]. These versions are also known to work: exact version 20130121-g92bd8 [http://www.cmake.org/files/dev/cmake-2.8.10.20130121-g92bd8-Darwin-universal.tar.gz here] (or version >= 2.8.10.20130220 [http://www.cmake.org/files/dev/?C=M;O=D here]).
 
-->
 
 
$ 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
 
 
 
* [{{tool|download|git}} Git] >= 1.7.10
 
* [{{tool|download|svn}} Svn] >= 1.7
 
<!--
 
*[[{{tool|logo|cmake}}|x16px]] [{{tool|download|cmake}} CMake] >= 2.8.9
 
*[[{{tool|logo|git}}|x16px]] [{{tool|download|git}} Git] >= 1.6.5
 
-->
 
* XCode (for the SDK libs)
 
* Qt >= 4.7.4. See details [[Documentation/{{documentation/version}}/Developers/Build_Instructions/Prerequisites/Qt#Mac|here]]
 
* XQuartz - For Mac Os X >= 10.8 ([http://en.wikipedia.org/wiki/OS_X_Mountain_Lion Mountain Lion]) install XQuartz (http://xquartz.macosforge.org) to get X11 (no longer a default in OS X).
 
<!--
 
** Newer Xcode versions (e.g. 4.3.2) use clang as the default compiler and '''clang is not compatible with ITK version 3'''.  You should use ITK version 4 with recent versions of Xcode.
 
** Xcode with gcc should ork with either version of ITK.
 
** OS X Mountain Lion: In Xcode 4.5 you now need to install command line tools (no longer included by default). Install within Xcode under the Xcode->Preferences->Downloads tab (otherwise git svn will give errors). Then you will need to install XQuartz (http://xquartz.macosforge.org) to get X11 (no longer a default in OS X).
 
-->
 
 
 
=== Windows ===
 
* [{{tool|download|cmake}} CMake] >= 2.8.10
 
* [{{tool|download|git}} Git] >= 1.7.10
 
* Qt 4.8.5 or greater (for VS2008). See details [[Documentation/{{documentation/version}}/Developers/Build_Instructions/Prerequisites/Qt#Windows|here]]
 
<!--
 
*[[{{tool|logo|cmake}}|x16px]] [{{tool|download|cmake}}  CMake] >= 2.8.10
 
*[[{{tool|logo|git}}|x16px]]  [{{tool|download|git}}  Git] >= 1.7.10
 
* [https://code.google.com/p/msysgit/downloads/list?can=3 ''Git-X.X.X-preview2013XXXX.exe''] recommended.
 
-->
 
<!--
 
** Use of [http://code.google.com/p/tortoisegit/ TortoiseGit] is optional.
 
-->
 
** {{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.
 
* [http://www.sliksvn.com/en/download SlikSvn] <!-- or [http://www.cygwin.com cygwin's svn client]-->. 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 [http://nsis.sourceforge.net/Download here] to download.
 
* IDE
 
** '''Tested/Recommended''': [https://www.microsoft.com/visualstudio/en-us/products/2008-editions Microsoft Visual Studio 9 2008] (Any edition). [http://go.microsoft.com/?linkid=7729279 VS Express 2008 with SP1 direct link] (functional as of Jan 11, 2014)
 
*** Make sure to install:
 
**** SP1. Click [http://www.microsoft.com/download/en/details.aspx?id=10986 here] to download SP1 and click [http://massmail.spl.harvard.edu/public-archives/slicer-devel/2012/008206.html here] to understand the motivation.
 
** '''Experimental''': The plan is to support [https://www.microsoft.com/visualstudio/en-us/products/2010-editions Microsoft Visual Studio 2010] (Any edition). {{note}} NOTE THAT EXPERIMENTAL MEANS THIS DOESN'T YET WORK :)
 
*** Make sure to build or install:
 
**** Qt 4.8
 
*** Make sure to install:
 
**** SP1. Click [http://www.microsoft.com/download/en/details.aspx?id=23691 here] to download SP1 and click [http://developer.qt.nokia.com/faq/answer/why_do_all_qt_4.7_applications_crash_when_using_windows_7_x64_w_vs_2010 here] to understand the motivation.
 
**** SP1 Compiler update. Click [https://www.microsoft.com/download/en/details.aspx?id=4422 here] to download and [http://slicer-devel.65872.n3.nabble.com/Windows-7-64Bits-Slicer-4-Build-with-VC-2010-problem-tt3730524.html#a3731661 here] to understand the motivation.
 
<!-- JC: This links shouldn't be here: 1) Since this the developer section, it's assumed Visual Studio is installed. 2) The Dll are distributed within Slicer package -->
 
<!-- *** Optional: "Microsoft Visual C++ 2010 SP1 Redistributable Package". Click [http://www.microsoft.com/download/en/details.aspx?id=13523 here for x64] download, or [http://www.microsoft.com/download/en/details.aspx?id=13523 here for x86] download.  [http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=29 x86 (32bit) for VS 2008] -->
 
** '''Experimental''' (Visual Studio 2012): Use a desktop version such as [http://www.microsoft.com/visualstudio/eng/downloads#d-express-windows-desktop Visual Studio 2012 Express <b>for Windows Desktop</b>] and remember [http://www.microsoft.com/en-us/download/details.aspx?id=38188 Visual Studio 2012 Update 2]). Do <b>not</b> use Visual Studio Express 2012 <em>for Windows 8</em>. You must install [http://msdn.microsoft.com/en-us/library/ms717422.aspx Windows SDK], otherwise CMake will not even find the C compiler during configure. In CMake, choose <tt>Visual Studio 11 Win64</tt> as generator.
 
** '''Un-tested''': Cygwin suite (building with cygwin gcc not supported, but the cygwin shell environment can be used to run git, svn, etc).
 

Latest revision as of 19:04, 6 August 2020

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