Boost-1.61.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.

This package is known to build and work properly using an LFS-7.9 platform.

This package is known to build properly using the gcc-6 compiler.

Package Information

Boost Dependencies

Recommended

Optional

ICU-57.1, Python-2.7.11 or Python-3.5.2, and Open MPI

User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/boost

Installation of 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. All 131 tests should pass.

To run every library's regression tests, issue pushd status; ../b2; popd. A few tests may fail. They take very long (over 120 SBU at -j1, 50 SBU at -j4) and use a very large amount of 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

Command Explanations

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.

Contents

Installed Programs: None
Installed Libraries: libboost_atomic.so, libboost_chrono.a, libboost_chrono.so, libboost_container.so, libboost_context.so, libboost_coroutine.so, libboost_date_time.so, libboost_exception.a, libboost_filesystem.so, libboost_graph.so, libboost_iostreams.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_prg_exec_monitor.so, libboost_program_options.so, libboost_python.so, libboost_python3.so, libboost_random.so, libboost_regex.so, libboost_serialization.so, libboost_signals.so, libboost_system.a, libboost_system.so, libboost_test_exec_monitor.a, libboost_thread.so, libboost_timer.a, libboost_timer.so, libboost_type_erasure.so, libboost_unit_test_framework.so, libboost_wave.so, and libboost_wserialization.so
Installed Directory: /usr/include/boost

Last updated on 2016-05-16 20:35:31 -0500