Boost provides a set of free peer-reviewed portable C++ source libraries. It includes libraries for linear algebra, pseudorandom number generation, multithreading, image processing, regular expressions and unit testing.
This package is known to build and work properly using an LFS-9.1 platform.
Download (HTTP): https://dl.bintray.com/boostorg/release/1.72.0/source/boost_1_72_0.tar.bz2
Download MD5 sum: cb40943d2a2cb8ce08d42bc48b0f84f0
Download size: 102 MB
Estimated disk space required: 1.0 GB (168 MB installed)
Estimated build time: 1.5 SBU (Using parallelism=4; add 1.3 SBU for tests)
User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/boost
This package can be built with several jobs running in parallel. In
the instructions below, <N>
stands for the number of
jobs. Install Boost by running the
following commands:
./bootstrap.sh --prefix=/usr &&
./b2 stage -j<N>
threading=multi link=shared
To run the Boost.Build's regression test, Python-2.7.17 is required. Run the tests with: issue pushd tools/build/test; python3 test_all.py; popd. All 152 tests should pass.
To run every library's regression tests, issue pushd status; ../b2; popd. A few
tests may fail. They take a very long time (over 119 SBU at -j4)
and use a very large amount of disk space (46 GB). You should use
the -jN
switch to speed
them up.
Now, as the root
user:
./b2 install threading=multi link=shared && ln -svf detail/sha1.hpp /usr/include/boost/uuid/sha1.hpp
threading=multi
: This
parameter ensures that Boost is
built with multithreading support.
link=shared
: This parameter
ensures that only shared libraries are created, except for
libboost_exception and libboost_test_exec_monitor which are created
as static. Most people will not need the static libraries, and most
programs using Boost only use the
headers. Omit this parameter if you do need static libraries.
ln -svf detail/sha1.hpp
...
: The uuid/sha1.hpp
used to be a regular header, but by boost_1_66_0 it had been
changed to load the similar detail/sha1.hpp
header, with a message that it
had been deprecated. It has now been removed, but not every package
which uses it has been changed. An example is one of the libraries
downloaded as a git version by libreoffice. The symlink enables
this and similar packages to build.
-jN
: This switch may be added to the
b2 command lines, to
run up to N processes in parallel.
--with-python=python3
: Add this switch
to the bootstrap
command, if you want Boost to use Python3 instead of Python2. Using
Python3 is known to cause the installation to fail on some systems.
Last updated on 2020-02-16 12:25:07 -0800