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 12.4 platform.
![[Note]](../images/note.png)
This package will extract to the
boost-1.89.0/ directory.
Download (HTTP): https://github.com/boostorg/boost/releases/download/boost-1.89.0/boost-1.89.0-b2-nodocs.tar.xz
Download SHA256 Sum: 875cc413afa6b86922b6df3b2ad23dec4511c8a741753e57c1129e7fa753d700
Download MD5 sum: 023f1014b98d51676ddba21c2ee4878b
Download size: 50 MB
Estimated disk space required: 687 MB (197 MB installed)
Estimated build time: 1.5 SBU (Using parallelism=4; add 0.1 SBU for tests)
ICU-78.1, "numpy", and Open MPI
Editor Notes: https://wiki.linuxfromscratch.org/blfs/wiki/boost
First, fix a build issue which occurs in the stacktrace library. This issue is specific to i686 systems.
case $(uname -m) in
i?86)
sed -e "s/defined(__MINGW32__)/& || defined(__i386__)/" \
-i ./libs/stacktrace/src/exception_headers.h ;;
esac
This package can be built with several jobs running in parallel. In
the instructions below, all available logical cores are used. Replace
$(nproc) with the number of logical cores
you want to use if you don't want to use all.
Install Boost by running the
following commands:
./bootstrap.sh --prefix=/usr --with-python=python3
./b2 stage -j$(nproc) threading=multi link=sharedTo run Boost.Build's regression tests, issue:
pushd tools/build/test python3 test_all.py popd
![[Note]](../images/note.png)
Boost installs many versioned directories in /usr/lib/cmake.
If a new version of Boost is installed over a
previous version, the older cmake directories need to be
explicitly removed. To do this, run as the
root user:
rm -rf /usr/lib/cmake/[Bb]oost*
before installing the new version.
Now, as the root user:
./b2 install threading=multi link=shared
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.
--with-python=python3: This switch ensures Python3
is used if Python2 is installed.