~ubuntu-branches/ubuntu/wily/openms/wily

« back to all changes in this revision

Viewing changes to doc/html/install_win.html

  • Committer: Package Import Robot
  • Author(s): Filippo Rusconi
  • Date: 2013-12-20 11:30:16 UTC
  • mfrom: (5.1.2 sid)
  • Revision ID: package-import@ubuntu.com-20131220113016-wre5g9bteeheq6he
Tags: 1.11.1-3
* remove version number from libbost development package names;
* ensure that AUTHORS is correctly shipped in all packages.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<HTML>
 
2
<HEAD>
 
3
<TITLE>Building %OpenMS on Windows</TITLE>
 
4
<LINK HREF="doxygen.css" REL="stylesheet" TYPE="text/css">
 
5
<LINK HREF="style_ini.css" REL="stylesheet" TYPE="text/css">
 
6
</HEAD>
 
7
<BODY BGCOLOR="#FFFFFF">
 
8
<A href="index.html">Home</A> &nbsp;&middot;
 
9
<A href="classes.html">Classes</A> &nbsp;&middot;
 
10
<A href="annotated.html">Annotated Classes</A> &nbsp;&middot;
 
11
<A href="modules.html">Modules</A> &nbsp;&middot;
 
12
<A href="functions_func.html">Members</A> &nbsp;&middot;
 
13
<A href="namespaces.html">Namespaces</A> &nbsp;&middot;
 
14
<A href="pages.html">Related Pages</A>
 
15
<HR style="height:1px; border:none; border-top:1px solid #c0c0c0;">
 
16
<!-- Generated by Doxygen 1.8.5 -->
 
17
</div><!-- top -->
 
18
<div class="header">
 
19
  <div class="headertitle">
 
20
<div class="title">Building OpenMS on Windows </div>  </div>
 
21
</div><!--header-->
 
22
<div class="contents">
 
23
<div class="textblock"><h1><a class="anchor" id="install_win_read"></a>
 
24
Introduction</h1>
 
25
<p>This document addresses OpenMS users and explains the installation procedure for building OpenMS from its sources. If you only want to use the OpenMS Proteomics Pipeline (TOPP), you are strongly encouraged to <b>download the windows binary installer</b> (see <a href="http://www.OpenMS.de/download.php" target="_blank">here</a>), instead of building OpenMS from sources. For more information read the install instructions for the TOPP binaries.</p>
 
26
<p>This document especially considers the installation of several libraries which are required by OpenMS. Most of these libraries are made available in our "contrib-package" (see below). <br/>
 
27
 If you encounter errors during configuring/compiling our software, have a look at our "Known Issues" section (documentation), maybe the error is already known. If not, please write to the mailing list. <br/>
 
28
 <br/>
 
29
</p>
 
30
<p><b>Notation of this tutorial</b> </p>
 
31
<ul>
 
32
<li>
 
33
whenever there is a $ this implies entering everything that follows the $ into a command prompt (usually the Visual Studio Command Prompt) </li>
 
34
<li>
 
35
A string in &lt;&gt; is something the user needs to choose e.g. &lt;path_to_contrib&gt; means that this string should be replaced by the path where the user put the OpenMS contrib package. Usually all commands where this is necessary come with examples, so don't worry. </li>
 
36
<li>
 
37
Whenever you added a path to your Windows PATH Environment variable, the <code>Command Prompt</code> which are already open are not refreshed. You will need a to open a new one. </li>
 
38
</ul>
 
39
<h1><a class="anchor" id="install_win_setup"></a>
 
40
Setup of environment</h1>
 
41
<p><b>Pre-Requisites (Software)</b> </p>
 
42
<ul>
 
43
<li>
 
44
have a Visual Studio 2005/2008/2010[SP1]/2012/2013 installed (The C++ Express editions should work as well, we tested VSE2008, VSE2012 and VSE2013). <br/>
 
45
Visual C++ Express 2012 and above support Win64 and OpenMP by default. For older editions (2010 and below) you can find tutorials on how to enable them on the internet. <br/>
 
46
If you work with VS2008, installation of the Service Pack 1 (SP1) is required, otherwise VS might crash during the compilation of the contrib package. <br/>
 
47
<b>Not supported are MinGW (g++ based compiler) and VS2003 (and earlier). Do not use a MinGW-enabled shell since CMake will get confused!</b> Other compilers which are close to the VS toolchain might work, but are not tested. </li>
 
48
<li>
 
49
Have CMake 2.8.3 or greater installed (see <a href="http://www.cmake.org">http://www.cmake.org</a>)<br/>
 
50
 [VS2012 requires CMake 2.8.10 or later, VS2013 needs CMake 2.8.11.2] </li>
 
51
<li>
 
52
If you work with the SVN version of OpenMS (instead of the Release package), we recommend downloading the svn binaries (which contain svnversion.exe). Subversion is developed as a project of the Apache Software Foundation (see <a href="http://subversion.apache.org/">http://subversion.apache.org/</a>). There are multiple binary distributions out there. Pick the one you like. The TortoiseSVN installer per se only supports the (very useful) explorer shell extensions, but also allows you to install the command line binaries if requested during installation. Installing svnversion.exe allows to include the current svn repository revision into the TOPP binaries' help message, which can ease debugging. Svnversion.exe is searched in "c:/program files/subversion/bin" and "c:/programme/subversion/bin". Make sure it is in either of these locations or add the installation directory to your PATH. </li>
 
53
<li>
 
54
To build the contrib-package you will need <code>7-Zip</code> (see <a href="http://www.7-zip.org/">http://www.7-zip.org/</a>) <br/>
 
55
7z.exe is searched in "C:/Program Files/7-Zip/" and "C:/Programme/7-Zip/". Make sure it is in either of these locations or add the installation directory to your PATH. </li>
 
56
<li>
 
57
To build the contrib-package you will need <code>patch</code> (see <a href="http://gnuwin32.sourceforge.net/packages/patch.htm">http://gnuwin32.sourceforge.net/packages/patch.htm</a>) <br/>
 
58
patch.exe is searched in "C:/Program Files/gnuwin32/bin" and "C:/Program Files/patch/bin". Make sure it is in either of these locations or add the installation directory to your PATH. </li>
 
59
</ul>
 
60
<h1><a class="anchor" id="install_win_required"></a>
 
61
Installing required dependency libraries</h1>
 
62
<p>OpenMS depends on several other libraries. On a windows system, these are usually not present.</p>
 
63
<h2><a class="anchor" id="install_qt"></a>
 
64
QT installation</h2>
 
65
<p>We require Qt version 4.5 or higher.<br/>
 
66
 <b>Qt 5.X IS NOT SUPPORTED YET!</b><br/>
 
67
 VS2012 and VS2013 require at least Qt 4.8.4 with some additional fix (see below).</p>
 
68
<p>Qt comes in two flavors: commercial or non-commercial - choose whatever is applicable to you: read more on the Qt website Recently (beginning with Qt 4.6) there are binary development versions available for VS2010 and VS2008. We found these to contain only 32bit compilations. If you are compiling for 32bit as well, you can download these and save a lot of time. They are incompatible for 64bit builds - compile Qt yourself in this case (or see if you can find 64bit builds on the Qt website). Make sure NOT to use the MinGW precompiled binaries, since they are incompatible with Visual Studio binaries.</p>
 
69
<p>Follow this procedure if you want to compile Qt yourself: </p>
 
70
<ol>
 
71
<li>
 
72
non-commercial: <ol>
 
73
<li>
 
74
download Qt <b>source</b> from <a href="http://qt-project.org/downloads">http://qt-project.org/downloads</a> as .zip or .tar.gz (or use the prebuild binaries exactly matching your compiler!) </li>
 
75
<li>
 
76
extract zip file to a temp location (called &lt;path-to-tmp-qt&gt; henceforth) </li>
 
77
<li>
 
78
[VS2012 and VS2013 only] there is a bug in the latest Qt (4.8.4 and 4.8.5) preventing compilation. Look at <a href="http://stackoverflow.com/questions/12113400/compiling-qt-4-8-x-for-visual-studio-2012">http://stackoverflow.com/questions/12113400/compiling-qt-4-8-x-for-visual-studio-2012</a> for a fix. Its meant for 4.8.3 though. For 4.8.4 and 4.8.5 you only need to fix HashSet.h! If you use VS2013 you additionally need to remove three functions from &lt;path-to-tmp-qt&gt;\3rdparty\webkit\Source\JavaScriptCore\wtf\MathExtras.h, which are already defined by VS12 (<a class="el" href="group__MathFunctionsMisc.html#ga3994eea4342458b8d83ae1984b72d6ac" title="Rounds the value. ">round()</a>, roundf and signbit()). </li>
 
79
<li>
 
80
open a Visual Studio Command Line (use x64 version if you want 64bit apps!) </li>
 
81
<li>
 
82
$ cd &lt;path-to-tmp-qt&gt; </li>
 
83
<li>
 
84
if you have multiple versions of VS installed you might need to provide the "-platform" param for the next configure command (e.g., -platform win32-msvc2012) </li>
 
85
<li>
 
86
$ configure.exe -opensource -nomake demos -nomake examples -no-script -webkit -prefix &lt;path-to-qt&gt; ...[more options, e.g. -graphicssystem opengl] </li>
 
87
<li>
 
88
$ nmake </li>
 
89
<li>
 
90
$ nmake install </li>
 
91
<li>
 
92
all Qt files (libs, includes etc) are now in &lt;path-to-qt&gt; and sub-directories. You can delete &lt;path-to-tmp-qt&gt; (since it will consume quite a lot of disk space) </li>
 
93
<li>
 
94
alternatively to nmake, you can download JOM (<a href="http://qt-project.org/wiki/jom">http://qt-project.org/wiki/jom</a>) and type "jom" in your Qt build directory to use multiple cores (builds a lot faster usually) </li>
 
95
</ol>
 
96
</li>
 
97
<li>
 
98
commercial: <ol>
 
99
<li>
 
100
we have no experience here, but it should be possible to get the DLL's and Link-Libraries here as well. </li>
 
101
</ol>
 
102
</li>
 
103
<li>
 
104
add the &lt;Qt&gt;/bin (!) directory to your PATH Environment Variable </li>
 
105
</ol>
 
106
<h2><a class="anchor" id="install_win_contrib"></a>
 
107
Contrib installation</h2>
 
108
<p>In order to make the installation of the remaining required libraries easier, we composed a "contrib-package" containing the libraries Boost, GSL, libSVM, SeqAn, glpk, zlib, libbz2 and Xerces-C. This contrib package has several advantages over manual installation </p>
 
109
<ul>
 
110
<li>
 
111
You get all the libraries in versions tested with OpenMS. </li>
 
112
<li>
 
113
It contains a batch script that builds all the libraries in one step. </li>
 
114
<li>
 
115
You don't have to spend hours reading installation instructions of all the libraries. </li>
 
116
<li>
 
117
We applied some patches to the libraries to fix some bugs. <br/>
 
118
<b>These bugs may be fatal if you do not use the contrib package.</b> </li>
 
119
</ul>
 
120
<p><b>Download:</b> </p>
 
121
<p>The contrib package is contained in the OpenMS release package.</p>
 
122
<p>If you are using the developer version of OpenMS, you must check out the contrib from Sourceforge SVN repository </p>
 
123
<pre>&gt; svn co <a href="https://open-ms.svn.sourceforge.net/svnroot/open-ms/contrib">https://open-ms.svn.sourceforge.net/svnroot/open-ms/contrib</a></pre><p> to obtain the latest developer version (potentially unstable).</p>
 
124
<p><b>Installation:</b> </p>
 
125
<p>On Vista/Win7/Win8 some programs using during contrib creation (e.g. patch.exe) require elevation, otherwise the contrib will not build. Thus, you need an admin account with disabled UAC (User Account Control) or alternatively you can start a command line by right-clicking on its link and choosing "Run as administrator", while UAC is still enabled.</p>
 
126
<p>After you got the source code for the contrib package open a VisualStudio Command line (see Start-Menu).</p>
 
127
<ol>
 
128
<li>
 
129
Open a Visual Studio Command Line (use x64 version if you want 64bit apps!) </li>
 
130
<li>
 
131
Create a build directory for the OpenMS contrib <br/>
 
132
 -e.g. $ mkdir contrib_win64_build </li>
 
133
<li>
 
134
<p class="startli">Call CMake to build the contrib<br/>
 
135
 Be aware that you can build 64bit apps even if your operating system is only 32bit (cross-compiling), but you will not be able to run 64bit apps in this case.</p>
 
136
<div class="fragment"><div class="line">cd &lt;path_to_contrib_build&gt;</div>
 
137
<div class="line">cmake -G <span class="stringliteral">&quot;&lt;generator&gt;&quot;</span> <span class="stringliteral">&quot;&lt;path_to_contrib&gt;&quot;</span></div>
 
138
</div><!-- fragment --><p>The &lt;generator&gt; you use must be one of the Visual Studio Generators. This is because some contrib libs require Visual Studio to build. Be careful to specify the Generator suffixed with "Win64" if you want a 64bit contrib! Type <code>$ cmake</code> to see a list of available generators.<br/>
 
139
 Example: </p>
 
140
<div class="fragment"><div class="line">cd c:\svn\contrib_win64_build</div>
 
141
<div class="line">cmake -G <span class="stringliteral">&quot;Visual Studio 9 2008 Win64&quot;</span> <span class="stringliteral">&quot;c:\svn\contrib&quot;</span></div>
 
142
</div><!-- fragment --><p class="endli"></p>
 
143
</li>
 
144
<li>
 
145
Add the &lt;path_to_contrib_build&gt;/lib directory to your PATH Environment Variable (this is so Windows can find the DLL's when running our executables). </li>
 
146
</ol>
 
147
<p>VS2013 requires SeqAn 1.4.1, which is currently not shipped in the contrib. However, just download the SeqAn source code from www.seqan.de and replace the headers in &lt;path_to_contrib_build&gt;/include/seqan with the headers from the seqan source.</p>
 
148
<h1><a class="anchor" id="create_doc"></a>
 
149
Building the documentation (optional)</h1>
 
150
<p>This section is voluntary. If you can live with the online documentation, you do not need to build your own.</p>
 
151
<p>In order to build the class documentation (doc &amp; doc_internal targets), TOPP tutorials (doc_tutorials target) and more, you will need to install three programs:</p>
 
152
<ol>
 
153
<li>
 
154
Doxygen (version 1.5.8 and 1.8.2 are tested, others might work as well) <ul>
 
155
<li>
 
156
Download the installer for Windows (<a href="http://www.doxygen.org">http://www.doxygen.org</a>) </li>
 
157
<li>
 
158
Execute the installer. It should automatically add doxygen.exe to the Windows PATH Environment (please recheck) </li>
 
159
</ul>
 
160
</li>
 
161
<li>
 
162
MikTeX (version 2.7 and 2.9 are tested, others might work as well) - basic version (for DVIPS, LATEX etc). <ul>
 
163
<li>
 
164
Download binaries for Windows (<a href="http://miktex.org/">http://miktex.org/</a>) </li>
 
165
<li>
 
166
During installtion tick "install missing packages on the fly = yes"?! </li>
 
167
<li>
 
168
The installer SHOULD add the bin directory of MikTeX automatically to the Windows PATH Environment (please recheck) </li>
 
169
</ul>
 
170
</li>
 
171
<li>
 
172
GPL Ghostscript (8.60) for Windows <ul>
 
173
<li>
 
174
Download binaries for Windows (<a href="http://www.ghostscript.com/">http://www.ghostscript.com/</a>) and install </li>
 
175
<li>
 
176
Add the <em>&lt;path_to_GHOSTSCRIPT&gt;/bin</em> directory (e.g. c:/programs/gs/gs8.60/bin) to the Windows PATH Environment </li>
 
177
</ul>
 
178
</li>
 
179
<li>
 
180
Optional:<br/>
 
181
 You can create dependency graphs using a doxygen plug-in called <code>dot</code>. <ul>
 
182
<li>
 
183
Download binaries for windows from <a href="http://www.graphviz.org">http://www.graphviz.org</a> (we tested: graphviz-2.18.exe) </li>
 
184
<li>
 
185
The installer should have added dot.exe to the Windows PATH Environment (please recheck) </li>
 
186
</ul>
 
187
</li>
 
188
</ol>
 
189
<p>You should install the above apps prior to installing OpenMS, because otherwise during the configuration step the documentation targets will be disabled. If you already have a working installation of OpenMS (without documentation), you can simply install the above programms and then delete the CMakeCache.txt file in your OpenMS build directory and reconfigure OpenMS by calling cmake (see below). No need to recompile the library!</p>
 
190
<h1><a class="anchor" id="install_win_openms"></a>
 
191
Installing OpenMS</h1>
 
192
<p>If you have not installed the libraries which OpenMS requires, please refer to the section <a class="el" href="install_win.html#install_win_contrib">Contrib installation</a> above. <br/>
 
193
 Assuming you have successfully installed the dependent libraries, you need to get the OpenMS source code. The latest stable version of OpenMS can be found in the <a href="http://www.OpenMS.de/download.php" target="_blank">download</a> page. For further (e.g. latest developer version from SVN) info see the <a href="http://open-ms.sourceforge.net/download.php" target="_blank">download instructions</a>. <br/>
 
194
 <br/>
 
195
 After you got the source code open a VisualStudio Command line (see Start-Menu). To create Visual Studio Project Files using CMake: </p>
 
196
<ol>
 
197
<li>
 
198
Open a Visual Studio Command Line (use x64 version if you want 64bit apps!) </li>
 
199
<li>
 
200
Create a build directory for OpenMS<br/>
 
201
 -e.g. $ mkdir OpenMS_Win64 </li>
 
202
<li>
 
203
<p class="startli">Call CMake to create the BuildSystem there </p>
 
204
<div class="fragment"><div class="line">cd &lt;path_to_OpenMS_build&gt;</div>
 
205
<div class="line">cmake -D CMAKE_FIND_ROOT_PATH=<span class="stringliteral">&quot;&lt;path_to_contrib_build&gt;&quot;</span> -G <span class="stringliteral">&quot;&lt;generator&gt;&quot;</span> <span class="stringliteral">&quot;&lt;path_to_OpenMS&gt;&quot;</span></div>
 
206
</div><!-- fragment --><p> The choice of &lt;generator&gt; is dependent on your system. Type <code>$ cmake</code> to see a list of available generators. If you use a Visual Studio Generator, it should be identical to the one used for building the contrib. Example: </p>
 
207
<div class="fragment"><div class="line">cd c:\svn\OpenMS_Win64</div>
 
208
<div class="line">cmake -D CMAKE_FIND_ROOT_PATH=<span class="stringliteral">&quot;C:\svn\contrib_win64_build&quot;</span> -G <span class="stringliteral">&quot;Visual Studio 9 2008 Win64&quot;</span> <span class="stringliteral">&quot;../OpenMS&quot;</span></div>
 
209
</div><!-- fragment --><p class="endli"></p>
 
210
</li>
 
211
</ol>
 
212
<p>Now there should be a <code>OpenMS.sln</code> file in your build directory, which you can open using Visual Studio. If you choose another generator (e.g. Eclipse) you will find something equivalent.</p>
 
213
<p>In Visual Studio execute the 'targets' project, which will show you the most prominent targets.</p>
 
214
<p>Try to build the OpenMS library - the target is called '<a class="el" href="namespaceOpenMS.html" title="Main OpenMS namespace. ">OpenMS</a>'. This will create the OpenMS dll. If you used the debug configuration it will be called OpenMSd.dll, in release mode its called OpenMS.dll.<br/>
 
215
 As a last step you should add the location of the OpenMS dll to your PATH environment. This is required for TOPP tools like TOPPAS, which might otherwise not work. Also external projects (see <a class="el" href="external_code.html">External Code using OpenMS</a>) require the OpenMS dll (OpenMS.dll or OpenMSd.dll) to be in the PATH. Depending on the generator and configuration used you will find the dll in [OpenMS_build]/bin/Release or [OpenMS_build]/bin/Debug or just [OpenMS_build]/bin. In the same folder the TOPP tools will reside once build (see next section). Be aware that the order of directories in the PATH variable determines which dll or executable is used, if no absolute path was given when the executable was called. So the PATH might need to be updated (add/delete/reorder entries) if you are working with multiple installations or configurations of OpenMS.</p>
 
216
<h1><a class="anchor" id="install_win_topp"></a>
 
217
Building the TOPP tools</h1>
 
218
<p>TOPP is a toolset for the analysis of HPLC-MS data. It consists of several small applications that can be chained to create analysis pipelines tailored for a specific problem. <br/>
 
219
 <br/>
 
220
 After you have built OpenMS, you can build the TOPP tools by building the "TOPP" project in the IDE.</p>
 
221
<p><br/>
 
222
</p>
 
223
<h1><a class="anchor" id="install_win_testing_openms"></a>
 
224
Testing your OpenMS/TOPP installation</h1>
 
225
<p>Each class in OpenMS and each TOPP tool have a unit test. To build and execute the tests, go to your OpenMS build_tree and further into ./source/TEST. There you'll find an OpenMS_tests.sln file, which you can open. For other generators an equivalent file with another suffix will be present. Now, build the 'test_build' target and the 'RUN_TESTS' target. You can also run the tests in a command prompt in &lt;OpenMS_build_tree&gt;/source/TEST using $ ctest Single tests can be run with $ ctest -R &lt;testname&gt;, e.g. $ ctest -R Base64_test For more syntax on ctest look at the online documentation at <a href="http://cmake.org/">http://cmake.org/</a>. </p>
 
226
</div></div><!-- contents -->
 
227
<HR style="height:1px; border:none; border-top:1px solid #c0c0c0;">
 
228
<TABLE width="100%" border="0">
 
229
<TR>
 
230
<TD><font color="#c0c0c0">OpenMS / TOPP release 1.11.1</font></TD>
 
231
<TD align="right"><font color="#c0c0c0">Documentation generated on Thu Nov 14 2013 11:19:25 using doxygen 1.8.5</font></TD>
 
232
</TR>
 
233
</TABLE>
 
234
</BODY>
 
235
</HTML>