source: general/genlib/boost.xml

trunk
Last change on this file was 3824d6f, checked in by Bruce Dubbs <bdubbs@…>, 8 days ago

Typo

  • Property mode set to 100644
File size: 7.7 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!ENTITY boost-download-http "https://github.com/boostorg/boost/releases/download/boost-&boost-version;/boost-&boost-dl-version;.tar.xz">
8 <!ENTITY boost-download-ftp " ">
9 <!ENTITY boost-md5sum "eff463ec1c67a8725fb3d2948abc5ca5">
10 <!ENTITY boost-size "90 MB">
11 <!ENTITY boost-buildsize "899 MB (197 MB installed)">
12 <!ENTITY boost-time "1.8 SBU (Using parallelism=4; add 0.1 SBU for tests)">
13]>
14
15<sect1 id="boost" xreflabel="Boost-&boost-version;">
16 <?dbhtml filename="boost.html"?>
17
18 <title>boost-&boost-version;</title>
19
20 <indexterm zone="boost">
21 <primary sortas="a-Boost">Boost</primary>
22 </indexterm>
23
24 <sect2 role="package">
25 <title>Introduction to Boost</title>
26
27 <para>
28 <application>Boost</application> provides a set of free peer-reviewed
29 portable C++ source libraries. It includes libraries for linear algebra,
30 pseudorandom number generation, multithreading, image processing, regular
31 expressions and unit testing.
32 </para>
33
34 &lfs121_checked;
35
36 <note>
37 <para>
38 This package will extract to the
39 <filename>boost-&boost-version;</filename>/ directory.
40 </para>
41 </note>
42
43 <bridgehead renderas="sect3">Package Information</bridgehead>
44 <itemizedlist spacing="compact">
45 <listitem>
46 <para>
47 Download (HTTP): <ulink url="&boost-download-http;"/>
48 </para>
49 </listitem>
50 <listitem>
51 <para>
52 Download (FTP): <ulink url="&boost-download-ftp;"/>
53 </para>
54 </listitem>
55 <listitem>
56 <para>
57 Download MD5 sum: &boost-md5sum;
58 </para>
59 </listitem>
60 <listitem>
61 <para>
62 Download size: &boost-size;
63 </para>
64 </listitem>
65 <listitem>
66 <para>
67 Estimated disk space required: &boost-buildsize;
68 </para>
69 </listitem>
70 <listitem>
71 <para>
72 Estimated build time: &boost-time;
73 </para>
74 </listitem>
75 </itemizedlist>
76 <!--
77 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
78 <itemizedlist spacing="compact">
79 <listitem>
80 <para>
81 Recommended patch, required to build <xref linkend="libreoffice"/>:
82 <ulink url="&patch-root;/boost-&boost-version;-gcc_10-1.patch"/>
83 </para>
84 </listitem>
85 </itemizedlist>
86 -->
87
88 <bridgehead renderas="sect3">Boost Dependencies</bridgehead>
89
90 <bridgehead renderas="sect4">Recommended</bridgehead>
91 <para role="recommended">
92 <xref linkend="which"/>
93 </para>
94
95 <bridgehead renderas="sect4">Optional</bridgehead>
96 <para role="optional">
97 <xref linkend="icu"/> and
98 <ulink url="https://www.open-mpi.org/">Open MPI</ulink>
99 </para>
100
101 <para condition="html" role="usernotes">Editor Notes:
102 <ulink url="&blfs-wiki;/boost"/>
103 </para>
104 </sect2>
105
106 <sect2 role="installation">
107 <title>Installation of Boost</title>
108
109 <para>
110 This package can be built with several jobs running in parallel. In
111 the instructions below, <parameter>&lt;N&gt;</parameter> stands for the
112 number of jobs. Install <application>Boost</application> by running the
113 following commands:
114 </para>
115
116
117<screen><userinput>./bootstrap.sh --prefix=/usr --with-python=python3 &amp;&amp;
118./b2 stage -j<replaceable>&lt;N&gt;</replaceable> threading=multi link=shared</userinput></screen>
119
120 <para>
121 To run Boost.Build's regression tests, issue
122 <command>pushd tools/build/test; python3 test_all.py; popd</command>.
123 </para>
124
125 <para>
126 To run every library's regression tests, issue <command>pushd status;
127 ../b2; popd</command>. A few tests may fail. They take a very long time
128 (over 119 SBU at -j4) and use a very large amount of disk space
129 (46 GB). You should use the <parameter>-jN</parameter> switch to
130 speed them up.
131 </para>
132
133 <note>
134 <para>
135 Boost installs many versioned directories in /usr/lib/cmake.
136 If a new version of <application>Boost</application> is installed over a
137 previous version, the older cmake directories need to be
138 explicitly removed. To do this, run as the
139 <systemitem class="username">root</systemitem> user:
140 </para>
141
142<screen role="root"><userinput>rm -rf /usr/lib/cmake/[Bb]oost*</userinput></screen>
143
144 <para>
145 before installing the new version.
146 </para>
147 </note>
148
149 <para>
150 Now, as the <systemitem class="username">root</systemitem> user:
151 </para>
152
153<!-- dev note: ./b2 - -prefix=<DESTDIR>/usr install threading=multi link=shared -->
154
155<screen role="root"><userinput>./b2 install threading=multi link=shared</userinput></screen>
156
157 </sect2>
158
159 <sect2 role="commands">
160 <title>Command Explanations</title>
161<!--
162 <para>
163 <command>sed -i '/#include ...</command>: This removes the inclusion
164 of <filename>boost/phoenix/stl/tuple.hpp</filename> from this header-only
165 library, allowing applications which use it to link using recent C++.
166 </para>
167-->
168 <para>
169 <parameter>threading=multi</parameter>: This parameter ensures that
170 <application>Boost</application> is built with multithreading support.
171 </para>
172
173 <para>
174 <parameter>link=shared</parameter>: This parameter ensures that only
175 shared libraries are created, except for libboost_exception and
176 libboost_test_exec_monitor which are created as static. Most people
177 will not need the static libraries, and most programs using
178 <application>Boost</application> only use the headers. Omit
179 this parameter if you do need static libraries.
180 </para>
181
182 <para>
183 <parameter>--with-python=python3</parameter>: This switch ensures Python3
184 is used if Python2 is installed.
185 </para>
186
187 <para>
188 <option>-jN</option>: This switch may be added to the
189 <command>b2</command> command lines, to run up to N processes in
190 parallel.
191 </para>
192
193 </sect2>
194
195 <sect2 role="content">
196 <title>Contents</title>
197
198 <segmentedlist>
199 <segtitle>Installed Programs</segtitle>
200 <segtitle>Installed Libraries</segtitle>
201 <segtitle>Installed Directory</segtitle>
202
203 <seglistitem>
204 <seg>
205 None
206 </seg>
207 <seg>
208 libboost_atomic.so, libboost_charconv.so, libboost_chrono.so,
209 libboost_container.so, libboost_context.so, libboost_contract.so,
210 libboost_coroutine.so, libboost_date_time.so, libboost_exception.a,
211 libboost_fiber.so, libboost_filesystem.so, libboost_graph.so,
212 libboost_iostreams.so, libboost_json.so, libboost_locale.so,
213 libboost_log_setup.so, libboost_log.so, libboost_math_c99.so,
214 libboost_math_c99f.so, libboost_math_c99l.so, libboost_math_tr1.so,
215 libboost_math_tr1f.so, libboost_math_tr1l.so,
216 libboost_nowide.so, libboost_numpy3&python3-minor;.so,
217 libboost_prg_exec_monitor.so, libboost_program_options.so,
218 libboost_python3&python3-minor;.so, libboost_random.so,
219 libboost_regex.so, libboost_serialization.so,
220 libboost_stacktrace_addr2line.so, libboost_stacktrace_basic.so,
221 libboost_stacktrace_noop.so, libboost_system.so,
222 libboost_test_exec_monitor.a, libboost_thread.so, libboost_timer.so,
223 libboost_type_erasure.so, libboost_unit_test_framework.so,
224 libboost_url.so, libboost_wave.so, and libboost_wserialization.so
225 </seg>
226 <seg>
227 /usr/include/boost
228 </seg>
229 </seglistitem>
230 </segmentedlist>
231
232 </sect2>
233
234</sect1>
Note: See TracBrowser for help on using the repository browser.