source: general/genlib/boost.xml@ 368dc3e1

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 9.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 368dc3e1 was d5e43119, checked in by Pierre Labastie <pieere@…>, 5 years ago

Add a "-j" flag to boost instructions

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

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