Boost

Building Boost with Arm Compiler 


Overview Before you begin Procedure Related information

How to build Boost with Arm Compiler.

Boost provides free peer-reviewed portable C++ source libraries. For more information, see the Boost website.

For the purposes of this build, the following components are used:

Component Form
Boost Version 1.69.0
Arm Compiler
Version 19.1
Open MPI Version 3.0.2
Operating system RHEL 7.5
Hardware
Cavium ThunderX2

Procedure

  1. Download and unpack the application:

    mkdir Boost
    cd Boost

    wget https://dl.bintray.com/boostorg/release/1.69.0/source/boost_1_69_0.tar.gz
    tar -xf boost_1_69_0.tar.gz
  2. Change into the unpacked directory:

    cd ./boost_1_69_0
  3. Set a Boost root directory for the installation using $BOOST_ROOT:

    export BOOST_ROOT=/path/to/Boost_install 

    Replace /path/to/Boost_install with the path to your installation.

  4. Boost supports the clang toolchain. In order to build with armclang, first build the 'b2' Boost build system with gcc. Run the bootstrap.sh script choosing 'gcc' as the toolset, and specify the install location:

    ./bootstrap.sh --with-toolset=gcc --prefix=$BOOST_ROOT/install --with-libraries=all
  5. Create a custom config file to use mpi and call armclang in place of clang:

    touch user-config.jam 
    echo "using clang : arm64 : armclang ;" > user-config.jam
    echo "using mpi ;" >> user-config.jam
  6. Build and install the application:

    ./b2 install --prefix=$BOOST_ROOT/install toolset=clang --user-config=./user-config.jam