source: general/genlib/boost.xml@ 87351a9

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since 87351a9 was 87351a9, checked in by Bruce Dubbs <bdubbs@…>, 4 years ago

Tag most of General Libraries and their dependencies

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@23542 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 "9273c8c4576423562bbe84574b07b2bd">
10 <!ENTITY boost-size "104 MB">
11 <!ENTITY boost-buildsize "1.1 GB (175 MB installed)">
12 <!ENTITY boost-time "1.6 SBU (Using parallelism=4; add 1.2 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 <bridgehead renderas="sect3">Boost Dependencies</bridgehead>
86
87 <bridgehead renderas="sect4">Recommended</bridgehead>
88 <para role="recommended">
89 <xref linkend="which"/>
90 </para>
91
92 <bridgehead renderas="sect4">Optional</bridgehead>
93 <para role="optional">
94 <xref linkend="icu"/> and
95 <ulink url="https://www.open-mpi.org/">Open MPI</ulink>
96 </para>
97
98 <para condition="html" role="usernotes">User Notes:
99 <ulink url="&blfs-wiki;/boost"/>
100 </para>
101 </sect2>
102
103 <sect2 role="installation">
104 <title>Installation of Boost</title>
105
106 <para>
107 First, apply a patch wwhich allows to build libreoffice with GCC 10
108 and later:
109 </para>
110
111<screen><userinput>patch -Np1 -i ../boost-&boost-version;-gcc_10-1.patch</userinput></screen>
112
113 <para>
114 This package can be built with several jobs running in parallel. In
115 the instructions below, <parameter>&lt;N&gt;</parameter> stands for the
116 number of jobs. Install <application>Boost</application> by running the
117 following commands:
118 </para>
119
120
121<screen><userinput>./bootstrap.sh --prefix=/usr &amp;&amp;
122./b2 stage -j<replaceable>&lt;N&gt;</replaceable> threading=multi link=shared</userinput></screen>
123
124 <para>
125 To run the Boost.Build's regression test,
126 issue <command>pushd tools/build/test;
127 python3 test_all.py; popd</command>.
128 All 153 tests should pass.
129 </para>
130
131 <para>
132 To run every library's regression tests, issue <command>pushd status;
133 ../b2; popd</command>. A few tests may fail. They take a very long time
134 (over 119 SBU at -j4) and use a very large amount of disk space
135 (46 GB). You should use the <parameter>-jN</parameter> switch to
136 speed them up.
137 </para>
138
139 <para>
140 Now, as the <systemitem class="username">root</systemitem> user:
141 </para>
142
143<!-- dev note: ./b2 - -prefix=<DESTDIR>/usr install threading=multi link=shared -->
144
145<screen role="root"><userinput>./b2 install threading=multi link=shared &amp;&amp;
146ln -svf detail/sha1.hpp /usr/include/boost/uuid/sha1.hpp</userinput></screen>
147
148 </sect2>
149
150 <sect2 role="commands">
151 <title>Command Explanations</title>
152
153 <para>
154 <parameter>threading=multi</parameter>: This parameter ensures that
155 <application>Boost</application> is built with multithreading support.
156 </para>
157
158 <para>
159 <parameter>link=shared</parameter>: This parameter ensures that only
160 shared libraries are created, except for libboost_exception and
161 libboost_test_exec_monitor which are created as static. Most people
162 will not need the static libraries, and most programs using
163 <application>Boost</application> only use the headers. Omit
164 this parameter if you do need static libraries.
165 </para>
166
167 <para>
168 <parameter>ln -svf detail/sha1.hpp ...</parameter>: The
169 <filename>uuid/sha1.hpp</filename> used to be a regular header, but by
170 boost_1_66_0 it had been changed to load the similar
171 <filename>detail/sha1.hpp</filename> header, with a message that it had
172 been deprecated. It has now been removed, but not every package which uses
173 it has been changed. An example is one of the libraries downloaded as a
174 git version by libreoffice. The symlink enables this and similar packages
175 to build.
176 </para>
177
178 <para>
179 <option>-jN</option>: This switch may be added to the
180 <command>b2</command> command lines, to run up to N processes in
181 parallel.
182 </para>
183
184 <para>
185 <option>--with-python=python3</option>: Add this switch to the <command>
186 bootstrap</command> command, if you want Boost
187 to use Python3 instead of Python2. Using Python3 is known to cause the
188 installation to fail on some systems.
189 </para>
190
191 </sect2>
192
193 <sect2 role="content">
194 <title>Contents</title>
195
196 <segmentedlist>
197 <segtitle>Installed Programs</segtitle>
198 <segtitle>Installed Libraries</segtitle>
199 <segtitle>Installed Directory</segtitle>
200
201 <seglistitem>
202 <seg>
203 None
204 </seg>
205 <seg>
206 libboost_atomic.so, libboost_chrono.so,
207 libboost_container.so, libboost_context.so, libboost_coroutine.so,
208 libboost_date_time.so, libboost_exception.a, libboost_fiber.so,
209 libboost_filesystem.so,
210 libboost_graph.so, libboost_iostreams.so, libboost_locale.so,
211 libboost_log_setup.so, libboost_log.so, libboost_math_c99.so,
212 libboost_math_c99f.so, libboost_math_c99l.so, libboost_math_tr1.so,
213 libboost_math_tr1f.so, libboost_math_tr1l.so,
214 libboost_nowide.so, libboost_numpy27.so,
215 libboost_prg_exec_monitor.so, libboost_program_options.so,
216 libboost_python27.so or libboost_python3.so, libboost_random.so,
217 libboost_regex.so, libboost_serialization.so,
218 libboost_stacktrace_addr2line.so, libboost_stacktrace_basic.so,
219 libboost_stacktrace_noop.so, libboost_system.so,
220 libboost_test_exec_monitor.a, libboost_thread.so, libboost_timer.so,
221 libboost_type_erasure.so, libboost_unit_test_framework.so,
222 libboost_wave.so, and libboost_wserialization.so
223 </seg>
224 <seg>
225 /usr/include/boost
226 </seg>
227 </seglistitem>
228 </segmentedlist>
229
230 </sect2>
231
232</sect1>
Note: See TracBrowser for help on using the repository browser.