Skip to content

Boost

Boost provide portable C++ libraries useful in a broad range of contexts. The libraries are freely available under the terms of the Boost Software license.

Compiling and linking

  • module load boost

The C++ compiler wrapper CC will introduce the appropriate options to compile an application against the Boost libraries. The other compiler wrappers (cc and ftn) do not introduce these options.

To check exactly what options are introduced type, e.g.,

$ CC --cray-print-opts

The boost module also defines the environment variable BOOST_DIR as the root of the installation for the current programming environment if this information is needed.

Version history

  • Module boost/1.81.0 installed May 2023 (PE 22.12)
  • Module boost/1.72.0 recompiled May 2023 (PE 22.12)
  • Module boost/1.72 installed October 2021 (PE 21.04)
  • Module boost/1.72.0 installed January 2021

The following libraries are installed: atomic chrono container context contract coroutine date_time exception fiber filesystem graph_parallel graph iostreams locale log math mpi program_options random regex serialization stacktrace system test thread timer type_erasure wave

Compiling Boost

The ARCHER2 Github repository contains a recipe for compiling Boost for the different programming environments.

$ git clone https://github.com/ARCHER2-HPC/pe-scripts.git
$ cd pe-scripts
$ git checkout cse-develop
$ ./sh/boost.sh --prefix=/path/to/install/location
where the --prefix determines the install location. The list of libraries compiled is specified in the boost.sh script. See the ARCHER2 Github repository for further information.

Resources