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.0 platform.
Download (HTTP): https://boostorg.jfrog.io/artifactory/main/release/1.83.0/source/boost_1_83_0.tar.bz2
Download MD5 sum: 406f0b870182b4eb17a23a9d8fce967d
Download size: 117 MB
Estimated disk space required: 1.1 GB (199 MB installed)
Estimated build time: 2.8 SBU (Using parallelism=4; add 0.7 SBU for tests)
Editor Notes: https://wiki.linuxfromscratch.org/blfs/wiki/boost
A change in this version of boost breaks the few packages which use the phoenix module when compiled with current GCC. In BLFS, that affects LibreOffice-7.6.0.3. Fix this with the following command:
sed -i '/#include.*phoenix.*tuple.hpp.*/d' \ boost/phoenix/stl.hpp
          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 --with-python=python3 &&
./b2 stage -j<N> threading=multi link=shared
        To run Boost.Build's regression tests, issue pushd tools/build/test; python3 test_all.py; popd.
          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.
        
          
            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
          sed -i '/#include ...: This
          removes the inclusion of boost/phoenix/stl/tuple.hpp from this header-only
          library, allowing applications which use it to link using recent
          C++. An alternative is to edit /usr/include/boost/phoenix/stl.hpp if this
          version of boost has already been installed without this
          sed.
        
          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.
        
          -jN: This switch may be added to the
          b2 command lines, to
          run up to N processes in parallel.