source: general/genlib/boost.xml@ 94b4def9

systemd-13485
Last change on this file since 94b4def9 was 94b4def9, checked in by DJ Lucas <dj@…>, 8 years ago

Merge Chapter 10 changes from trunk, fix boost sed (from trunk).

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/branches/systemd@16844 af4574ff-66df-0310-9fd7-8a98e5e911e0

  • Property mode set to 100644
File size: 6.9 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 "&sourceforge-repo;/boost/boost_&boost-dl-version;.tar.bz2">
8 <!ENTITY boost-download-ftp " ">
9 <!ENTITY boost-md5sum "65a840e1a0b13a558ff19eeb2c4f0cbe">
10 <!ENTITY boost-size "74 MB">
11 <!ENTITY boost-buildsize "899 MB (with Boost.Build's regression test)">
12 <!ENTITY boost-time "5.5 SBU (with Boost.Build's regression test)">
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 &lfs78_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">Optional</bridgehead>
78 <para role="optional">
79 <xref linkend="icu"/>,
80 <xref linkend="python2"/> or <xref linkend="python3"/>, and
81 <ulink url="https://www.open-mpi.org/">Open MPI</ulink>
82 </para>
83
84 <para condition="html" role="usernotes">User Notes:
85 <ulink url="&blfs-wiki;/boost"/>
86 </para>
87 </sect2>
88
89 <sect2 role="installation">
90 <title>Installation of Boost</title>
91
92 <para>
93 First, fix a bug with the header files path, when Python3 is used:
94 </para>
95
96<screen><userinput>sed -e '/using python/ s@;@: /usr/include/python${PYTHON_VERSION/3*/${PYTHON_VERSION}m} @' \
97-i bootstrap.sh</userinput></screen>
98
99 <para>
100 Install <application>Boost</application> by running the following
101 commands:
102 </para>
103
104<screen><userinput>sed -e '1 i#ifndef Q_MOC_RUN' \
105 -e '$ a#endif' \
106 -i boost/type_traits/detail/has_binary_operator.hpp &amp;&amp;
107
108./bootstrap.sh --prefix=/usr &amp;&amp;
109./b2 stage threading=multi link=shared</userinput></screen>
110
111 <para>
112 To run the Boost.Build's regression test (<xref linkend="python2"/>
113 required), issue <command>pushd tools/build/test; python test_all.py;
114 popd</command>. One test out of 130 fails.
115 </para>
116
117 <para>
118 To run every library's regression tests, issue <command>pushd status;
119 ../b2; popd</command>. A few tests may fail. They take very long (over
120 120/50 SBU, one/four cores) and use a very large disk space (up to
121 40 GB). You can use the <parameter>-jN</parameter> switch to
122 speed them up.
123 </para>
124
125 <para>
126 Now, as the <systemitem class="username">root</systemitem> user:
127 </para>
128
129<!-- dev note: ./b2 - -prefix=<DESTDIR>/usr install threading=multi link=shared -->
130
131<screen role="root"><userinput>./b2 install threading=multi link=shared</userinput></screen>
132
133 </sect2>
134
135 <sect2 role="commands">
136 <title>Command Explanations</title>
137
138 <para>
139 <command>sed ... has_binary_operator.hpp</command>: This command
140 fixes a header to overcome a problem with Qt's moc command. It
141 is necessary for building some KDE packages.
142 </para>
143
144 <para>
145 <parameter>threading=multi</parameter>: This parameter ensures that
146 <application>Boost</application> is built with multithreading support.
147 </para>
148
149 <para>
150 <parameter>link=shared</parameter>: This parameter ensures that only
151 shared libraries are created, except for libboost_exception and
152 libboost_test_exec_monitor which are created as static. Most people
153 will not need the static libraries. Indeed most programs using
154 <application>Boost</application> only use the headers. Omit
155 this parameter if you do need static libraries.
156 </para>
157
158 <para>
159 <option>-jN</option>: This switch may be added to the
160 <command>b2</command> command lines, to run up to N processes in
161 parallel.
162 </para>
163
164 <para>
165 <option>--with-python=python3</option>: Add this switch if you want Boost
166 to use Python3 instead of Python2.
167 </para>
168
169 </sect2>
170
171 <sect2 role="content">
172 <title>Contents</title>
173
174 <segmentedlist>
175 <segtitle>Installed Programs</segtitle>
176 <segtitle>Installed Libraries</segtitle>
177 <segtitle>Installed Directory</segtitle>
178
179 <seglistitem>
180 <seg>
181 None
182 </seg>
183 <seg>
184 libboost_atomic.so,
185 libboost_chrono.a,
186 libboost_chrono.so,
187 libboost_container.so,
188 libboost_context.so,
189 libboost_coroutine.so,
190 libboost_date_time.so,
191 libboost_exception.a,
192 libboost_filesystem.so,
193 libboost_graph.so,
194 libboost_iostreams.so,
195 libboost_locale.so,
196 libboost_log_setup.so,
197 libboost_log.so,
198 libboost_math_c99.so,
199 libboost_math_c99f.so,
200 libboost_math_c99l.so,
201 libboost_math_tr1.so,
202 libboost_math_tr1f.so,
203 libboost_math_tr1l.so,
204 libboost_prg_exec_monitor.so,
205 libboost_program_options.so,
206 libboost_python.so,
207 libboost_python3.so,
208 libboost_random.so,
209 libboost_regex.so,
210 libboost_serialization.so,
211 libboost_signals.so,
212 libboost_system.a,
213 libboost_system.so,
214 libboost_test_exec_monitor.a,
215 libboost_thread.so,
216 libboost_timer.a,
217 libboost_timer.so,
218 libboost_type_erasure.so,
219 libboost_unit_test_framework.so,
220 libboost_wave.so,
221 and libboost_wserialization.so
222 </seg>
223 <seg>
224 /usr/include/boost
225 </seg>
226 </seglistitem>
227 </segmentedlist>
228
229 </sect2>
230
231</sect1>
Note: See TracBrowser for help on using the repository browser.