source: general/genlib/boost.xml@ d9e1464

12.0 12.1 gimp3 ken/TL2024 ken/tuningfonts lazarus plabs/newcss python3.11 rahul/power-profiles-daemon renodr/vulkan-addition trunk xry111/llvm18
Last change on this file since d9e1464 was 42ddc30, checked in by Xi Ruoyao <xry111@…>, 13 months ago

treewide: Replace "User Notes" with "Editor Notes"

  • Property mode set to 100644
File size: 8.5 KB
RevLine 
[47969a6]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
[5faa7c31]7 <!ENTITY boost-download-http "https://boostorg.jfrog.io/artifactory/main/release/&boost-version;/source/boost_&boost-dl-version;.tar.bz2">
[47969a6]8 <!ENTITY boost-download-ftp " ">
[0dbdfb1]9 <!ENTITY boost-md5sum "b45dac8b54b58c087bfbed260dbfc03a">
10 <!ENTITY boost-size "116 MB">
[b2651a58]11 <!ENTITY boost-buildsize "1.1 GB (195 MB installed)">
[0dbdfb1]12 <!ENTITY boost-time "1.4 SBU (Using parallelism=4; add 0.9 SBU for tests)">
[47969a6]13]>
14
[b2651a58]15<!-- Editors: Check test failures with python-3.11 -->
16
[355495ce]17<sect1 id="boost" xreflabel="Boost-&boost-version;">
[47969a6]18 <?dbhtml filename="boost.html"?>
19
20
21 <title>Boost-&boost-version;</title>
22
23 <indexterm zone="boost">
[355495ce]24 <primary sortas="a-Boost">Boost</primary>
[47969a6]25 </indexterm>
26
27 <sect2 role="package">
28 <title>Introduction to Boost</title>
29
[355495ce]30 <para>
[fa29663]31 <application>Boost</application> provides a set of free peer-reviewed
32 portable C++ source libraries. It includes libraries for linear algebra,
33 pseudorandom number generation, multithreading, image processing, regular
34 expressions and unit testing.
[355495ce]35 </para>
[47969a6]36
[d0c42be]37 &lfs113_checked;
[47969a6]38
39 <bridgehead renderas="sect3">Package Information</bridgehead>
40 <itemizedlist spacing="compact">
41 <listitem>
[355495ce]42 <para>
43 Download (HTTP): <ulink url="&boost-download-http;"/>
44 </para>
[47969a6]45 </listitem>
46 <listitem>
[355495ce]47 <para>
48 Download (FTP): <ulink url="&boost-download-ftp;"/>
49 </para>
[47969a6]50 </listitem>
51 <listitem>
[355495ce]52 <para>
53 Download MD5 sum: &boost-md5sum;
54 </para>
[47969a6]55 </listitem>
56 <listitem>
[355495ce]57 <para>
58 Download size: &boost-size;
59 </para>
[47969a6]60 </listitem>
61 <listitem>
[355495ce]62 <para>
63 Estimated disk space required: &boost-buildsize;
64 </para>
[47969a6]65 </listitem>
66 <listitem>
[355495ce]67 <para>
68 Estimated build time: &boost-time;
69 </para>
[47969a6]70 </listitem>
71 </itemizedlist>
[9873d1ea]72 <!--
[9214104]73 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
74 <itemizedlist spacing="compact">
75 <listitem>
76 <para>
77 Recommended patch, required to build <xref linkend="libreoffice"/>:
78 <ulink url="&patch-root;/boost-&boost-version;-gcc_10-1.patch"/>
79 </para>
80 </listitem>
81 </itemizedlist>
[9873d1ea]82 -->
[9214104]83
[355495ce]84 <bridgehead renderas="sect3">Boost Dependencies</bridgehead>
[47969a6]85
[d89ea78]86 <bridgehead renderas="sect4">Recommended</bridgehead>
87 <para role="recommended">
88 <xref linkend="which"/>
89 </para>
90
[47969a6]91 <bridgehead renderas="sect4">Optional</bridgehead>
[f7fbe1f7]92 <para role="optional">
[39060e91]93 <xref linkend="icu"/> and
[31b8fd26]94 <ulink url="https://www.open-mpi.org/">Open MPI</ulink>
[47969a6]95 </para>
96
[42ddc30]97 <para condition="html" role="usernotes">Editor Notes:
[355495ce]98 <ulink url="&blfs-wiki;/boost"/>
99 </para>
[47969a6]100 </sect2>
101
102 <sect2 role="installation">
103 <title>Installation of Boost</title>
[1015ec3]104
[06c23e6]105 <para>
106 A change in this version of <application>boost</application> breaks
107 the few packages which use the <application>phoenix</application>
108 module when compiled with current <application>GCC</application>. In BLFS,
109 that affects <xref linkend="libreoffice"/>. Fix this with the following
110 command:
111 </para>
112
113<screen><userinput>sed -i '/#include.*phoenix.*tuple.hpp.*/d' \
114 boost/phoenix/stl.hpp</userinput></screen>
115
[355495ce]116 <para>
[d5e43119]117 This package can be built with several jobs running in parallel. In
118 the instructions below, <parameter>&lt;N&gt;</parameter> stands for the
119 number of jobs. Install <application>Boost</application> by running the
120 following commands:
[355495ce]121 </para>
[47969a6]122
[128b5380]123
[9873d1ea]124<screen><userinput>./bootstrap.sh --prefix=/usr --with-python=python3 &amp;&amp;
[d5e43119]125./b2 stage -j<replaceable>&lt;N&gt;</replaceable> threading=multi link=shared</userinput></screen>
[a7f550d8]126
127 <para>
[8558044]128 To run the Boost.Build's regression test, issue
129 <command>pushd tools/build/test; python3 test_all.py; popd</command>.
[54d58907]130 With python-3.10.x all 168 tests should pass. With
[b2651a58]131 <xref linkend='python3'/>, 20 tests fail for undetermined reasons.
[684ab13]132 </para>
133
134 <para>
135 To run every library's regression tests, issue <command>pushd status;
[40cc482]136 ../b2; popd</command>. A few tests may fail. They take a very long time
137 (over 119 SBU at -j4) and use a very large amount of disk space
138 (46 GB). You should use the <parameter>-jN</parameter> switch to
[684ab13]139 speed them up.
[a7f550d8]140 </para>
[fe83f5c]141
142 <note>
143 <para>
144 Boost installs many versioned directories in /usr/lib/cmake.
[e15d48d7]145 If a new version of <application>Boost</application> is installed over a
146 previous version, the older cmake directories need to be
[552bf36]147 explicitly removed. To do this, run as the
[fe83f5c]148 <systemitem class="username">root</systemitem> user:
149 </para>
150
151<screen role="root"><userinput>rm -rf /usr/lib/cmake/[Bb]oost*</userinput></screen>
152
153 <para>
154 before installing the new version.
155 </para>
156 </note>
[a7f550d8]157
158 <para>
159 Now, as the <systemitem class="username">root</systemitem> user:
160 </para>
161
[4adf827]162<!-- dev note: ./b2 - -prefix=<DESTDIR>/usr install threading=multi link=shared -->
163
[4e207bb]164<screen role="root"><userinput>./b2 install threading=multi link=shared</userinput></screen>
[47969a6]165
166 </sect2>
[54bed77b]167
[47969a6]168 <sect2 role="commands">
169 <title>Command Explanations</title>
170
[06c23e6]171 <para>
172 <parameter>sed -i '/#include ...</parameter>: This removes the inclusion
173 of <filename>boost/phoenix/stl/tuple.hpp</filename> from this header-only
174 library, allowing applications which use it to link using recent C++.
175 <!-- FIXME: remove before 11.3 is we still use 1.81.0 and LO-7.4,
176 this alternative is only for people working through the development book.-->
177 An alternative is to edit
178 <filename>/usr/include/boost/phoenix/stl.hpp</filename> if this version of
179 boost has already been installed without this <command>sed</command>.
180 </para>
181
[355495ce]182 <para>
183 <parameter>threading=multi</parameter>: This parameter ensures that
184 <application>Boost</application> is built with multithreading support.
185 </para>
186
187 <para>
[155d1f80]188 <parameter>link=shared</parameter>: This parameter ensures that only
189 shared libraries are created, except for libboost_exception and
190 libboost_test_exec_monitor which are created as static. Most people
[154b62f8]191 will not need the static libraries, and most programs using
[ea0c1c2]192 <application>Boost</application> only use the headers. Omit
[155d1f80]193 this parameter if you do need static libraries.
194 </para>
195
196 <para>
[d56891b]197 <parameter>--with-python=python3</parameter>: This switch ensures Python3
198 is used if Python2 is installed.
[355495ce]199 </para>
[47969a6]200
[1015ec3]201 <para>
[d56891b]202 <option>-jN</option>: This switch may be added to the
203 <command>b2</command> command lines, to run up to N processes in
204 parallel.
[1015ec3]205 </para>
206
[47969a6]207 </sect2>
[54bed77b]208
[47969a6]209 <sect2 role="content">
210 <title>Contents</title>
211
212 <segmentedlist>
[c3c56b2]213 <segtitle>Installed Programs</segtitle>
[47969a6]214 <segtitle>Installed Libraries</segtitle>
215 <segtitle>Installed Directory</segtitle>
216
217 <seglistitem>
[c3c56b2]218 <seg>
219 None
220 </seg>
[355495ce]221 <seg>
[9873d1ea]222 libboost_atomic.so, libboost_chrono.so, libboost_container.so,
223 libboost_context.so, libboost_contract.so, libboost_coroutine.so,
[84fe2e9]224 libboost_date_time.so, libboost_exception.a, libboost_fiber.so,
[4f89710]225 libboost_filesystem.so, libboost_graph.so, libboost_iostreams.so,
226 libboost_json.so, libboost_locale.so,
[31b8fd26]227 libboost_log_setup.so, libboost_log.so, libboost_math_c99.so,
228 libboost_math_c99f.so, libboost_math_c99l.so, libboost_math_tr1.so,
229 libboost_math_tr1f.so, libboost_math_tr1l.so,
[90a022d]230 libboost_nowide.so, libboost_numpy3&python3-minor;.so,
[31b8fd26]231 libboost_prg_exec_monitor.so, libboost_program_options.so,
[f5c380e]232 libboost_python3&python3-minor;.so, libboost_random.so,
[84fe2e9]233 libboost_regex.so, libboost_serialization.so,
[fa30d84]234 libboost_stacktrace_addr2line.so, libboost_stacktrace_basic.so,
[8558044]235 libboost_stacktrace_noop.so, libboost_system.so,
[84fe2e9]236 libboost_test_exec_monitor.a, libboost_thread.so, libboost_timer.so,
237 libboost_type_erasure.so, libboost_unit_test_framework.so,
[0869e91]238 libboost_url.so, libboost_wave.so, and libboost_wserialization.so
[355495ce]239 </seg>
240 <seg>
241 /usr/include/boost
242 </seg>
[47969a6]243 </seglistitem>
244 </segmentedlist>
[355495ce]245
[47969a6]246 </sect2>
247
248</sect1>
Note: See TracBrowser for help on using the repository browser.