#### Beyond Linux® From Scratch (systemd Edition) - Version r13.0-491

### Chapter 9. General Libraries

- Prev

  Aspell-0.60.8.2

- Next

  brotli-1.2.0

- Up
- Home

# boost-1.90.0

## Introduction to Boost

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

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

This package will extract to the `boost-1.90.0`/ directory.

### Package Information

- Download (HTTP): https://github.com/boostorg/boost/releases/download/boost-1.90.0/boost-1.90.0-b2-nodocs.tar.xz

- Download MD5 sum: 14ab503392f4130db3d87edb705789ca

- Download size: 50 MB

- Estimated disk space required: 861 MB (201 MB installed)

- Estimated build time: 1.8 SBU (Using parallelism=4; add 0.2 SBU for tests)

### Boost Dependencies

#### Recommended

Which-2.23

#### Optional

ICU-78.3, NumPy-2.4.4, and Open MPI

Editor Notes: https://wiki.linuxfromscratch.org/blfs/wiki/boost

## Installation of 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

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

## Command Explanations

`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 that Python is detected correctly.

## Contents

Installed Programs: None
Installed Libraries: libboost_atomic.so, libboost_charconv.so, libboost_chrono.so, libboost_container.so, libboost_context.so, libboost_contract.so, libboost_coroutine.so, libboost_date_time.so, libboost_exception.a, libboost_fiber.so, libboost_filesystem.so, libboost_graph.so, libboost_iostreams.so, libboost_json.so, libboost_locale.so, libboost_log_setup.so, libboost_log.so, libboost_math_c99.so, libboost_math_c99f.so, libboost_math_c99l.so, libboost_math_tr1.so, libboost_math_tr1f.so, libboost_math_tr1l.so, libboost_nowide.so, libboost_numpy314.so, libboost_prg_exec_monitor.so, libboost_process.so, libboost_program_options.so, libboost_python314.so, libboost_random.so, libboost_regex.so, libboost_serialization.so, libboost_stacktrace_addr2line.so, libboost_stacktrace_basic.so, libboost_stacktrace_from_exception.so, libboost_stacktrace_noop.so, libboost_test_exec_monitor.a, libboost_thread.so, libboost_timer.so, libboost_type_erasure.so, libboost_unit_test_framework.so, libboost_url.so, libboost_wave.so, and libboost_wserialization.so
Installed Directory: /usr/include/boost and /usr/share/boost_predef

### Short Descriptions

`libboost_*.so` | contains libraries that provide a variety of functions, including wrappers for NumPy, linear algebra, pseudorandom number generation, multithreading, image processing, regular expressions, unit testing, locales, JSON, logging, graphing, and debugging

- Prev

  Aspell-0.60.8.2

- Next

  brotli-1.2.0

- Up
- Home