preCICE-v3.0.0 installation error on Centos 7

  • preCICE-v3.0.0
  • Operating system or platform
    CentOS Linux release 7.9.2009 (Core)
    3.10.0-1160.21.1.el7.x86_64 GNU/Linux
  • building with CMake from source
  • Dependency versions (especially compiler, Boost, PETSc, MPI)
    PETSc v3.20
    Boost v1.84
    libxml2 v2.9.1
    GNU compiler v9.3.1 and v10.2.1 both tried
    openmpi v3.1.5 from NVIDIA SDK v20.9
 cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/scratcha-fdgs/lux/OpenFOAM/lux-v2106/run/preCICE-v3.0.0/platform
-- The CXX compiler identification is GNU 10.2.1
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /opt/rh/devtoolset-10/root/usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Performing Test CXX11_N2071_N2072
-- Performing Test CXX11_N2071_N2072 - Failed
CMake Error at cmake/CheckSTL.cmake:25 (message):

      The standard library used by your compiler GNU 10.2.1 is not C++11 compliant.
      It does not support time manipulation (N2071 and N2072).
      Please upgrade your compiler at least to:
      * GCC 9.3
      * LLVM 5.0
      * MSVC 19.14
      * Intel 15 in conjunction with GCC 9.3
      * PGI 2015 in conjunction with GCC 9.3

Call Stack (most recent call first):
  cmake/CheckSTL.cmake:61 (_check_cxx_11_n2071_n2072)
  cmake/CheckSTL.cmake:68 (check_cxx_11_library_support)
  CMakeLists.txt:28 (include)

-- Configuring incomplete, errors occurred!


Changing the compiler won’t change the underlying standard library.

As stated in the documentation, you need to install and switch the devtoolset.

Also note that precice v3 isn’t officially supported on CentOS and that the platform CentOS is dead.

I did install devtoolset-9 and 10 as suggested.

After the installation, the next step is to switch to the toolset using scl enable devtoolset-10 bash.
This opens a new shell which exposes the correct environment.
In this shell, try to reconfigure and build precice as well as your linked solvers from scratch.

If this doesn’t work, then I would recommend to use spack to build a recent toolchain as well as precice and your solvers. Please refer to the documentation of spack to get started.