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.
![[Note]](../images/note.png) 
          Development versions of BLFS may not build or run some packages properly if LFS or dependencies have been updated since the most recent stable versions of the books.
![[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 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-77.1, NumPy-2.3.4, 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=shared
        To 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.