-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathinstall.html
More file actions
189 lines (177 loc) · 8.32 KB
/
install.html
File metadata and controls
189 lines (177 loc) · 8.32 KB
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
<!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/html; charset=utf-8" />
<title>Requirements and Installation — Semi-Markov 1.0 documentation</title>
<link rel="stylesheet" href="_static/sphinxdoc.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: '',
VERSION: '1.0',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
};
</script>
<script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script>
<script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
<link rel="top" title="Semi-Markov 1.0 documentation" href="index.html" />
<link rel="up" title="Semi-Markov Library Manual" href="manual.html" />
<link rel="next" title="Background" href="background.html" />
<link rel="prev" title="Introduction" href="intro.html" />
</head>
<body>
<div class="related">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="genindex.html" title="General Index"
accesskey="I">index</a></li>
<li class="right" >
<a href="background.html" title="Background"
accesskey="N">next</a> |</li>
<li class="right" >
<a href="intro.html" title="Introduction"
accesskey="P">previous</a> |</li>
<li><a href="index.html">Semi-Markov 1.0 documentation</a> »</li>
<li><a href="manual.html" accesskey="U">Semi-Markov Library Manual</a> »</li>
</ul>
</div>
<div class="sphinxsidebar">
<div class="sphinxsidebarwrapper">
<h3><a href="index.html">Table Of Contents</a></h3>
<ul>
<li><a class="reference internal" href="#">Requirements and Installation</a><ul>
<li><a class="reference internal" href="#requirements">Requirements</a></li>
<li><a class="reference internal" href="#installation">Installation</a></li>
</ul>
</li>
</ul>
<h4>Previous topic</h4>
<p class="topless"><a href="intro.html"
title="previous chapter">Introduction</a></p>
<h4>Next topic</h4>
<p class="topless"><a href="background.html"
title="next chapter">Background</a></p>
<h3>This Page</h3>
<ul class="this-page-menu">
<li><a href="_sources/install.txt"
rel="nofollow">Show Source</a></li>
</ul>
<div id="searchbox" style="display: none">
<h3>Quick search</h3>
<form class="search" action="search.html" method="get">
<input type="text" name="q" />
<input type="submit" value="Go" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
<p class="searchtip" style="font-size: 90%">
Enter search terms or a module, class or function name.
</p>
</div>
<script type="text/javascript">$('#searchbox').show(0);</script>
</div>
</div>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body">
<div class="section" id="requirements-and-installation">
<h1>Requirements and Installation<a class="headerlink" href="#requirements-and-installation" title="Permalink to this headline">¶</a></h1>
<p>This is a header-only library. Running <tt class="docutils literal"><span class="pre">./configure</span></tt> and <tt class="docutils literal"><span class="pre">make</span></tt>
will build example codes and copy header files into the specified
<tt class="docutils literal"><span class="pre">include</span></tt> directory.</p>
<div class="section" id="requirements">
<h2>Requirements<a class="headerlink" href="#requirements" title="Permalink to this headline">¶</a></h2>
<ul class="simple">
<li>C++ supporting the C++11 standard, which includes gcc 4.8 or newer
and clang 3.4 or newer.</li>
<li>Boost libraries, version 1.54 or newer.</li>
<li>Make. The configure script and Makefile were created with autoconf
and automake.</li>
<li>Testing is regularly done on Linux and Mac, but the library is just C++
so it should compile anywhere.</li>
</ul>
</div>
<div class="section" id="installation">
<h2>Installation<a class="headerlink" href="#installation" title="Permalink to this headline">¶</a></h2>
<ol class="arabic">
<li><p class="first">Determine the flavor of your boost libraries. The names of Boost
binaries may contain extra information, most commonly ending in <tt class="docutils literal"><span class="pre">-mt</span></tt>,
such as libboost_system-mt.so. Locate your libraries with
<tt class="docutils literal"><span class="pre">locate</span> <span class="pre">libboost_chrono</span></tt> or, on the mac, <tt class="docutils literal"><span class="pre">mdfind</span> <span class="pre">-name</span> <span class="pre">libboost_chrono</span></tt>
and ensure you have a full set of one of the
variants. If your library sits somewhere like
<tt class="docutils literal"><span class="pre">/usr/local/boost_1_54_0mt/lib/libboost_chrono-mt.so,</span></tt> then build
with the following options to configure:</p>
<div class="highlight-python"><pre>./configure --with-boost=/usr/local/boost_1_54_0mt --enable-variant=-mt</pre>
</div>
<p>Proper choice of boost directory and variant will lead to a string of
<tt class="docutils literal"><span class="pre">yes</span></tt> in the configure output:</p>
<div class="highlight-python"><pre>checking for exit in -lpthread... yes
checking for exit in -lboost_system... yes
checking for exit in -lboost_random... yes
checking for exit in -lboost_program_options... yes
checking for exit in -lboost_filesystem... yes
checking for exit in -lboost_date_time... yes
checking for exit in -lboost_log... yes
checking for exit in -lboost_log_setup... yes
checking for exit in -lboost_unit_test_framework... yes</pre>
</div>
</li>
<li><p class="first">Modify the destination directory by adding a flag to configure:</p>
<div class="highlight-python"><pre>./configure --prefix=$HOME</pre>
</div>
<p>With this option, the headers will install into the directory
<tt class="docutils literal"><span class="pre">$HOME/include/semimarkov-0.1</span></tt>.
It is possible to modify the compiler and linker flags:</p>
<div class="highlight-python"><pre>./configure CXX=g++ CXXFLAGS="-O2 -march=native"</pre>
</div>
<p>All of these sample flags can be used in combination, and help
is found with ./configure –help.</p>
</li>
<li><p class="first">Lastly, make the examples and install the headers:</p>
<div class="highlight-python"><pre>make
make install</pre>
</div>
</li>
</ol>
<p>Should it be necessary to rebuild the <tt class="docutils literal"><span class="pre">configure</span></tt> script:</p>
<ol class="arabic simple">
<li>Run <tt class="docutils literal"><span class="pre">autoreconf</span> <span class="pre">--force</span> <span class="pre">--install</span></tt>. This will run <tt class="docutils literal"><span class="pre">aclocal</span></tt>,
<tt class="docutils literal"><span class="pre">autoconf</span></tt>, and <tt class="docutils literal"><span class="pre">automake</span></tt>.</li>
</ol>
</div>
</div>
</div>
</div>
</div>
<div class="clearer"></div>
</div>
<div class="related">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="genindex.html" title="General Index"
>index</a></li>
<li class="right" >
<a href="background.html" title="Background"
>next</a> |</li>
<li class="right" >
<a href="intro.html" title="Introduction"
>previous</a> |</li>
<li><a href="index.html">Semi-Markov 1.0 documentation</a> »</li>
<li><a href="manual.html" >Semi-Markov Library Manual</a> »</li>
</ul>
</div>
<div class="footer">
© Copyright 2014, Andrew Dolgert, David Schneider.
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
</div>
</body>
</html>