This file is indexed.

/usr/share/doc/simgrid/html/install.html is in simgrid-doc 3.14.159-2.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<title>SimGrid: Installing Simgrid</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { init_search(); });
</script>
<script type="text/x-mathjax-config">
  MathJax.Hub.Config({
    extensions: ["tex2jax.js"],
    jax: ["input/TeX","output/HTML-CSS"],
});
</script><script type="text/javascript" src="/usr/share/javascript/mathjax/MathJax.js/MathJax.js"></script>
<link href="stylesheet.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">SimGrid
   &#160;<span id="projectnumber">3.14.159</span>
   </div>
   <div id="projectbrief">Versatile Simulation of Distributed Systems</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="http://simgrid.gforge.inria.fr/"><span>Home page</span></a></li>
      <li><a href="http://simgrid.gforge.inria.fr/documentation.html"><span>Online documentation</span></a></li>
      <li><a href="javadoc"><span>Java documentation</span></a></li>
      <li><a href="https://gforge.inria.fr/projects/simgrid"><span>Dev's Corner</span></a></li>
      <li>        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
</li>
    </ul>
  </div> 
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('install.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="headertitle">
<div class="title">Installing Simgrid </div>  </div>
</div><!--header-->
<div class="contents">
<div class="toc"><h3>Table of Contents</h3>
<ul><li class="level1"><a href="#install_binary">Pre-compiled Packages</a><ul><li class="level2"><a href="#install_binary_linux">Binaries for Linux</a></li>
<li class="level2"><a href="#install_binary_java">Stable Java Package</a></li>
<li class="level2"><a href="#install_binary_java_builder">Nightly built Java Package</a></li>
<li class="level2"><a href="#install_binary_java_troubleshooting">Binary Java Troubleshooting</a></li>
</ul>
</li>
<li class="level1"><a href="#install_src">Source Installs</a><ul><li class="level2"><a href="#install_src_deps">Getting the Dependencies</a></li>
<li class="level2"><a href="#install_src_fetch">Getting the Sources</a></li>
<li class="level2"><a href="#install_src_config">Build Configuration</a><ul><li class="level3"><a href="#install_cmake_howto">Compilation Options</a></li>
<li class="level3"><a href="#install_cmake_list">SimGrid compilation options</a></li>
<li class="level3"><a href="#install_cmake_reset">Reset the build configuration</a></li>
<li class="level3"><a href="#install_cmake_outsrc">Out of Tree Compilation</a></li>
<li class="level3"><a href="#install_cmake_mac">Mac OS X Builds</a></li>
<li class="level3"><a href="#install_cmake_windows">Windows Builds</a></li>
<li class="level3"><a href="#install_java">Build the Java bindings</a></li>
<li class="level3"><a href="#install_src_32bits">32 bits Builds on Multi-arch Linux</a></li>
</ul>
</li>
<li class="level2"><a href="#install_src_compil">Existing Compilation Targets</a></li>
<li class="level2"><a href="#install_src_test">Testing your build</a></li>
</ul>
</li>
</ul>
</div>
<div class="textblock"><p>SimGrid should work out of the box on Linux, Mac OSX, FreeBSD, and Windows (under windows, only the Java interfaces are available at the moment).</p>
<p>The easiest way to install SimGrid is to go for a <a class="el" href="install.html#install_binary">binary package</a>. Under Debian or Ubuntu, this is very easy as SimGrid is directly integrated to the official repositories. For other Linux variants, you probably want to go for a <a class="el" href="install.html#install_src">source install</a>. Please contact us if you want to contribute the build scripts for your preferred distribution. If you just want to use <a class="el" href="install.html#install_binary_java">Java</a>, simply copy the jar file on your disk and you're set.</p>
<h1><a class="anchor" id="install_binary"></a>
Pre-compiled Packages</h1>
<h2><a class="anchor" id="install_binary_linux"></a>
Binaries for Linux</h2>
<p>Most of us use a Debian or Ubuntu system, so the packages for these systems are well integrated and up-to-date. To get these packages, simply type:</p>
<pre class="fragment">apt-get install simgrid
</pre><h2><a class="anchor" id="install_binary_java"></a>
Stable Java Package</h2>
<p>For the SimGrid Java bindings, grab the jar file from the <a href="https://gforge.inria.fr/frs/?group_id=12">download page</a> and copy it in your classpath (typically, your source code root directory). This self-contained version even includes the SimGrid native components for the following architectures: Linux (Amd64, x86, Arm), Mac OS X 64 bits, Windows 64 bits, FreeBSD (64 bits).</p>
<h2><a class="anchor" id="install_binary_java_builder"></a>
Nightly built Java Package</h2>
<p>For Windows, head to <a href="https://ci.appveyor.com/project/simgrid/simgrid">AppVeyor</a>. Click on the artefact link on the right, and grab your file. If the latest build failed, there will be no artefact. Then you will need to first click on "History" on the top and search for the last successful build.</p>
<p>For non-Windows systems (Linux, Mac or FreeBSD), head to <a href="https://ci.inria.fr/simgrid/job/SimGrid-Multi">Jenkins</a>. In the build history, pick the last green (or at least yellow) build that is not blinking (i.e., not currently under build). In the list, pick a system that is close to yours, and click on the ball in the Debug row. The build artefact will appear on the top of the resulting page.</p>
<h2><a class="anchor" id="install_binary_java_troubleshooting"></a>
Binary Java Troubleshooting</h2>
<ul>
<li><b>Your architecture is not supported by this jarfile</b>. <br />
 If your system is in the list of the supported architectures (see <a class="el" href="install.html#install_binary_java">above</a>), then this is probably a bug that <a class="el" href="community.html#contributing_bugs">you should report</a>.<br />
 If your system is actually not supported, you should compile your own jarfile <a class="el" href="install.html#install_src">by compiling SimGrid</a> on your machine. If you feel so, <a class="el" href="community.html#community_contact">contact us</a> so that we add your architecture to the list.</li>
<li><b>Library not found: boost-context</b>.<br />
 You should obviously install the <code>boost-context</code> library on your machine, for example with <code>apt-get</code>.</li>
</ul>
<h1><a class="anchor" id="install_src"></a>
Source Installs</h1>
<h2><a class="anchor" id="install_src_deps"></a>
Getting the Dependencies</h2>
<p>Recompiling an official archive is not much more complex. SimGrid only uses very standard tools:</p><ul>
<li>C compiler, C++ compiler, make and friends. SimGrid is rather demanding on the compiler. We use the C++11 standard, and older compilers tend to fail on us. It seems that g++ 5.0 or higher is required nowadays (because of boost).</li>
<li>perl (but you may try to go without it)</li>
<li>We use cmake to configure our compilation (<a href="http://www.cmake.org/cmake/resources/software.html">download page</a>). You need cmake version 2.8.8 or higher. You may want to use ccmake for a graphical interface over cmake.</li>
<li>boost:<ul>
<li>Debian / Ubuntu: <code>apt-get install libboost-dev libboost-context-dev</code></li>
<li>Max OS X: with <a href="http://www.finkproject.org/">fink</a>: <code>fink install boost1.53.nopython</code>, or with homebrew: <code>brew install boost</code></li>
</ul>
</li>
<li>Java (if you want to build the Java bindings):<ul>
<li>Debian / Ubuntu: <code>apt-get install default-jdk libgcj16-dev</code></li>
<li>Mac OS X or Windows: Grab a <a href="http://www.oracle.com/technetwork/java/javase/downloads">full JDK</a></li>
</ul>
</li>
<li>Lua (if you want to build with lua enabled):<ul>
<li>Debian / Ubuntu: <code>apt-get install liblua5.3-dev lua5.3</code></li>
<li>Windows: choco install lua53</li>
<li>From the source: you need to patch the sources to build dynamic libraries<ul>
<li><a href="http://www.lua.org/download.html">Download lua 5.3</a>. SimGrid won't work with lua 5.2 as lua breaks the compatibility.</li>
<li>Open the archive: <code>tar xvfz lua-5.3.*.tar.gz</code></li>
<li>Enter the directory: <code>cd lua-5.3*</code></li>
<li>Patch the sources: <code>patch -p1 &lt; /path/to/simgrid/...../tools/lualib.patch</code></li>
<li>Build and install lua: <code>make linux &amp;&amp; sudo make install</code></li>
</ul>
</li>
</ul>
</li>
</ul>
<p>For platform-specific details, please see <a class="el" href="install.html#install_cmake_mac">Mac OS X Builds</a>, <a class="el" href="install.html#install_cmake_windows">Windows Builds</a>, <a class="el" href="install.html#install_java">Build the Java bindings</a> and <a class="el" href="install.html#install_src_32bits">32 bits Builds on Multi-arch Linux</a></p>
<h2><a class="anchor" id="install_src_fetch"></a>
Getting the Sources</h2>
<p>You can download the <em>SimGrid-3.14.159.tar.gz</em> archive from the <a href="https://gforge.inria.fr/frs/?group_id=12">download page</a>. Then, recompiling the archive should be done in a few lines:</p>
<div class="fragment"><div class="line">tar xf SimGrid-3.14.159.tar.gz</div><div class="line">cd SimGrid-3.14.159</div><div class="line">cmake -DCMAKE_INSTALL_PREFIX=/opt/simgrid .</div><div class="line">make</div><div class="line">make install</div></div><!-- fragment --><p>If you want to stay on the bleeding edge, you should get the latest git version, and recompile it as you would do for an official archive. Depending on the files you change in the source tree, some extra tools may be needed.</p>
<pre class="fragment">git clone git://scm.gforge.inria.fr/simgrid/simgrid.git simgrid
</pre><h2><a class="anchor" id="install_src_config"></a>
Build Configuration</h2>
<p>Note that compile-time options are very different from <a class="el" href="options.html">run-time options</a>.</p>
<h3><a class="anchor" id="install_cmake_howto"></a>
Compilation Options</h3>
<p>The default configuration should be fine for most usages, but if you need to change something, there are several ways to do so. First, you can use environment variables. For example, you can change the compilers used by issuing these commands before launching cmake:</p>
<pre class="fragment">export CC=gcc-5.1
export CXX=g++-5.1
</pre><p>Note that other variables are available, such as CFLAGS and CXXFLAGS to add options respectively for the C and C++ compilers.</p>
<p>Another way to do so is to use the -D argument of cmake as follows. Note that the ending dot is mandatory (see <a class="el" href="install.html#install_cmake_outsrc">Out of Tree Compilation</a>).</p>
<pre class="fragment">cmake -DCC=clang -DCXX=clang++ .
</pre><p>Finally, you can use the ccmake graphical interface to change these settings.</p>
<pre class="fragment">ccmake .
</pre><h3><a class="anchor" id="install_cmake_list"></a>
SimGrid compilation options</h3>
<p>In addition to the classical cmake configuration variables, SimGrid accepts several options, as listed below.</p>
<ul>
<li><b>CMAKE_INSTALL_PREFIX</b> (path): Where to install SimGrid (/opt/simgrid, /usr/local, or elsewhere).</li>
</ul>
<ul>
<li><b>enable_compile_optimizations</b> (ON/OFF) to request the compiler to produce efficient code. You want to activate it, unless you plan to debug SimGrid itself. Indeed, efficient code may be appear mangled to debuggers.</li>
</ul>
<ul>
<li><b>enable_compile_warnings</b> (ON/OFF) to request the compiler to issue error messages whenever the source code is not perfectly clean. If you are a SimGrid developer, you have to activate this option to enforce the code quality. As a regular user, this option will bring you nothing.</li>
</ul>
<ul>
<li><b>enable_debug</b> (ON/OFF). Disable this option toto discard all log messages of gravity debug or below at compile time (see <a class="el" href="group__XBT__log.html">Logging support</a>). The resulting code is faster than if you discarding these messages at runtime. However, it obviously becomes impossible to get any debug info from SimGrid if something goes wrong.</li>
</ul>
<ul>
<li><b>enable_documentation</b> (ON/OFF) to generate the documentation pages.</li>
</ul>
<ul>
<li><b>enable_java</b> (ON/OFF) to enjoy the java bindings of SimGrid.</li>
</ul>
<ul>
<li><b>enable_jedule</b> (ON/OFF) to get SimDag producing execution traces that can then be visualized with the Jedule external tool.</li>
</ul>
<ul>
<li><b>enable_lua</b> (ON/OFF) to enjoy the lua bindings to the SimGrid internals (this require the liblua5.3-dev and lua-5.3 packages or equivalent).</li>
</ul>
<ul>
<li><b>enable_lib_in_jar</b> (ON/OFF) to make sure that the native java bindings are bundled in the jar file.</li>
</ul>
<ul>
<li><b>enable_lto</b> (ON/OFF) to enable the Link Time Optimization of the C compiler. This feature really speeds up the produced code, but it is fragile with some versions of GCC.</li>
</ul>
<ul>
<li><b>enable_maintainer_mode</b> (ON/OFF) is only needed if you plan to modify very specific parts of SimGrid (e.g., the XML parsers and other related elements). Moreover, this adds an extra dependency on flex and flexml.</li>
</ul>
<ul>
<li><b>enable_mallocators</b> (ON/OFF) has to be disabled when tracking memory issues within SimGrid, or our internal memory caching mechanism will fool the debuggers.</li>
</ul>
<ul>
<li><b>enable_model-checking</b> (ON/OFF) This execution gear is very usable now, but enabling this option at compile time will <b>hinder simulation speed</b> even when the model-checker is not activated at run time.</li>
</ul>
<ul>
<li><b>enable_ns3</b> (ON/OFF) if you want to use ns-3. See section <a class="el" href="pls_ns3.html">ns-3 as a SimGrid model</a>.</li>
</ul>
<ul>
<li><b>enable_smpi</b> (ON/OFF) to run MPI code on top of SimGrid.</li>
</ul>
<ul>
<li><b>enable_smpi_ISP_testsuite</b> (ON/OFF) to add many extra tests for the model-checker module.</li>
</ul>
<ul>
<li><b>enable_smpi_MPICH3_testsuite</b> (ON/OFF) to add many extra tests for the MPI module.</li>
</ul>
<h3><a class="anchor" id="install_cmake_reset"></a>
Reset the build configuration</h3>
<p>To empty the cmake cache (either when you add a new library or when things go seriously wrong), simply delete your <code>CMakeCache.txt</code>. You may also want to directly edit this file in some circumstances.</p>
<h3><a class="anchor" id="install_cmake_outsrc"></a>
Out of Tree Compilation</h3>
<p>By default, the files produced during the compilation are placed in the source directory. It is however often better to put them all in a separate directory: cleaning the tree becomes as easy as removing this directory, and you can have several such directories to test several parameter sets or architectures.</p>
<p>For that, go to the directory where the files should be produced, and invoke cmake (or ccmake) with the full path to the SimGrid source as last argument.</p>
<pre class="fragment">mkdir build
cd build
cmake [options] ..
make
</pre><h3><a class="anchor" id="install_cmake_mac"></a>
Mac OS X Builds</h3>
<p>SimGrid compiles like a charm with clang (version 3.0 or higher) on Mac OS X:</p>
<pre class="fragment">cmake -DCMAKE_C_COMPILER=/path/to/clang -DCMAKE_CXX_COMPILER=/path/to/clang++ .
make
</pre><p>With the XCode version of clang 4.1, you may get the following error message: </p><pre class="fragment">CMake Error: Parse error in cache file build_dir/CMakeCache.txt. Offending entry: /SDKs/MacOSX10.8.sdk
</pre><p>In that case, edit the CMakeCache.txt file directly, so that the CMAKE_OSX_SYSROOT is similar to the following. Don't worry about the warning that the "-pthread" argument is not used, if it appears. </p><pre class="fragment">CMAKE_OSX_SYSROOT:PATH=/Applications/XCode.app/Contents/Developer/Platforms/MacOSX.platform/Developer
</pre><p>In the El Capitan version of Max OS X, Apple decided that users don't need no /usr/include directory anymore. If you are hit by this pure madness, just run the following command to restore that classical UNIX directory: <code>xcode-select -install</code></p>
<h3><a class="anchor" id="install_cmake_windows"></a>
Windows Builds</h3>
<p>Building SimGrid on Windows may be something of an adventure: We only manage to do so ourselves with MinGW-64, <a href="http://www.activestate.com/activeperl/downloads">ActiveState</a> Perl and <a href="http://msysgit.googlecode.com/files/Git-1.7.4-preview20110204.exe">msys</a> git). Have a look at out configuration scripts in <code>appveyor.yml</code>, but don't expect too much from us: we are really not fluent with Windows. Actually your help is welcome.</p>
<p>The drawback of MinGW-64 is that the produced DLL are not compatible with MS Visual C. <a href="http://clang.llvm.org/docs/MSVCCompatibility.html">clang-cl</a> sounds promising to fix this. If you get something working, please <a class="el" href="community.html#community_contact">tell us</a>.</p>
<h3><a class="anchor" id="install_java"></a>
Build the Java bindings</h3>
<p>Once you have the <a href="http://www.oracle.com/technetwork/java/javase/downloads">full JDK</a> installed (on Debian/Ubuntu, grab the package <code>default-jdk</code> for that), things should be as simple as:</p>
<div class="fragment"><div class="line">cmake -Denable_java=ON .</div><div class="line">make </div></div><!-- fragment --><p>After the compilation, the file <code>simgrid.jar</code> is produced in the root directory. If you only want to build the jarfile and its dependencies, type <code>make simgrid-java_jar</code>. It will save you the time of building every C examples and other things that you don't need for Java.</p>
<p><b>Error: jni could not be found</b>. Sometimes, the build system fails to find the JNI headers. In this case, you need to first locate them as follows:</p>
<div class="fragment"><div class="line">$ locate jni.h</div><div class="line">/usr/lib/jvm/java-7-openjdk-amd64/include/jni.h</div><div class="line">/usr/lib/jvm/java-8-openjdk-amd64/include/jni.h</div></div><!-- fragment --><p>Then, set the JAVA_INCLUDE_PATH environment variable to the right path, and relaunch cmake. If you have several version of jni installed (as above), use the right one (check the java version you use with <code>javac -version</code>).</p>
<div class="fragment"><div class="line">export JAVA_INCLUDE_PATH=/usr/lib/jvm/java-8-openjdk-amd64/include/</div><div class="line">cmake -Denable_java=ON .</div><div class="line">make</div></div><!-- fragment --><p>Note that the filename <code>jni.h</code> was removed from the path.</p>
<h3><a class="anchor" id="install_src_32bits"></a>
32 bits Builds on Multi-arch Linux</h3>
<p>On a multiarch x86_64 Linux, it should be possible to compile a 32 bit version of SimGrid with something like:</p>
<pre class="fragment">CFLAGS=-m32 \
CXXFLAGS=-m32 \
PKG_CONFIG_LIBDIR=/usr/lib/i386-linux-gnu/pkgconfig/ \
cmake . \
-DCMAKE_SYSTEM_PROCESSOR=i386 \
-DCMAKE_Fortran_COMPILER=/some/path/to/i686-linux-gnu-gfortran \
-DGFORTRAN_EXE=/some/path/to/i686-linux-gnu-gfortran \
-DCMAKE_Fortran_FLAGS=-m32
</pre><p>If needed, implement <code>i686-linux-gnu-gfortran</code> as a script:</p>
<pre class="fragment">#!/bin/sh
exec gfortran -m32 "$@"
</pre><h2><a class="anchor" id="install_src_compil"></a>
Existing Compilation Targets</h2>
<p>In most cases, compiling and installing SimGrid is enough:</p>
<pre class="fragment">make
make install # try "sudo make install" if you don't have the permission to write
</pre><p>In addition, several compilation targets are provided in SimGrid. If your system is well configured, the full list of targets is available for completion when using the Tab key. Note that some of the existing targets are not really for public consumption so don't worry if some stuff doesn't work for you.</p>
<pre class="fragment">make simgrid                    Build only the SimGrid library and not any example
make app-masterworker           Build only this example (works for any example)
make clean                      Clean the results of a previous compilation
make install                    Install the project (doc/ bin/ lib/ include/)
make uninstall                  Uninstall the project (doc/ bin/ lib/ include/)
make dist                       Build a distribution archive (tgz)
make distcheck                  Check the dist (make + make dist + tests on the distribution)
make documentation              Create SimGrid documentation
</pre><p>If you want to see what is really happening, try adding VERBOSE=1 to your compilation requests:</p>
<pre class="fragment">make VERBOSE=1
</pre><h2><a class="anchor" id="install_src_test"></a>
Testing your build</h2>
<p>Once everything is built, you may want to test the result. SimGrid comes with an extensive set of regression tests (as described in the <a class="el" href="inside_tests.html">insider manual</a>). The tests are run with <code>ctest</code>, that comes with CMake. We run them every commit and the results are on <a href="https://ci.inria.fr/simgrid/">our Jenkins</a>.</p>
<pre class="fragment">ctest                     # Launch all tests
ctest -R msg              # Launch only the tests which name match the string "msg"
ctest -j4                 # Launch all tests in parallel, at most 4 at the same time
ctest --verbose           # Display all details on what's going on
ctest --output-on-failure # Only get verbose for the tests that fail

ctest -R msg- -j5 --output-on-failure # You changed MSG and want to check that you didn't break anything, huh?
                                      # That's fine, I do so all the time myself.
</pre> </div></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="footer">Generated by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
  </ul>
</div>
</body>
</html>