source: general/genlib/boost.xml@ 23ce4179

10.1 11.0 ken/refactor-virt lazarus qt5new trunk xry111/git-date xry111/git-date-for-trunk xry111/git-date-test
Last change on this file since 23ce4179 was 23ce4179, checked in by Bruce Dubbs <bdubbs@…>, 10 months ago

Update to p11-kit-0.23.22 (security update).
Update to boost-1.75.0.
Update to Python-3.9.1.
Update to libcap-2.46.

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@23983 af4574ff-66df-0310-9fd7-8a98e5e911e0

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