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-7.9 platform.
Download (HTTP): http://downloads.sourceforge.net/boost/boost_1_60_0.tar.bz2
Download MD5 sum: 65a840e1a0b13a558ff19eeb2c4f0cbe
Download size: 74 MB
Estimated disk space required: 899 MB (with Boost.Build's regression test)
Estimated build time: 5.5 SBU (with Boost.Build's regression test)
ICU-56.1, Python-2.7.11 or Python-3.5.1, and Open MPI
User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/boost
First, fix a bug with the header files path, when Python3 is used:
sed -e '/using python/ s@;@: /usr/include/python${PYTHON_VERSION/3*/${PYTHON_VERSION}m} ;@' \ -i bootstrap.sh
Install Boost by running the following commands:
sed -e '1 i#ifndef Q_MOC_RUN' \ -e '$ a#endif' \ -i boost/type_traits/detail/has_binary_operator.hpp && ./bootstrap.sh --prefix=/usr && ./b2 stage threading=multi link=shared
To run the Boost.Build's regression test (Python-2.7.11 is required), issue pushd tools/build/test; python test_all.py; popd. One test out of 130 fails.
To run every library's regression tests, issue pushd status; ../b2; popd. A few
tests may fail. They take very long (over 120/50 SBU, one/four
cores) and use a very large disk space (up to 40 GB). You can use
the -jN
switch to speed
them up.
Now, as the root
user:
./b2 install threading=multi link=shared
sed ... has_binary_operator.hpp: This command fixes a header to overcome a problem with Qt's moc command. It is necessary for building some KDE packages.
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. Indeed
most programs using Boost only use
the headers. Omit this parameter if you do need static libraries.
-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
if you want Boost to use Python3 instead of Python2.
Last updated on 2016-02-24 00:06:22 -0800