Skip to content

Switch Centos 7 CI builds to use GCC 7 for C++ 14 support

Jeremy Cohen requested to merge jhc02/nektar:fix/issue298 into master

Issue/feature addressed

This MR resolves issue #298 (closed) by switching the Centos 7 CI builds to use GCC 7.3.1 rather than the default GCC 4.8.5. This ensures that Centos 7 has C++ 14 support.

Proposed solution

The Centos 7 Dockerfiles and associated package list files in nektar/docker/nektar-env have been updated to install the required alternative packages.

Implementation

The update uses a group of devtoolset-7-* packages from the Centos Software Collections (SCL) Repository. This repo also provides newer toolchain versions so we could switch to something more recent if required. It's necessary to activate the use of the updated toolchain by running source scl_source enable devtoolset-7. This is added to that base bashrc script in /etc/ so that this toolchain should be activated by default in a bash shell. See this SO post for further information/examples.

Tests

N/A - successful completion of Centos 7 CI builds verifies successful implementation (plus a manual check can be carried out of the pipeline logs for Centos 7 to ensure that the initial CMake configuration reports GCC 7.1.3.

Notes

Please add any other information that could be useful for reviewers.

Checklist

  • Functions and classes, or changes to them, are documented.
  • User guide/documentation is updated.
  • Changelog is updated.
  • Suitable tests added for new functionality.
  • Contributed code is correctly formatted. (See the contributing guidelines).
  • License added to any new files.
  • No extraneous files have been added (e.g. compiler output or test data files).

Warning

On the 19.07 the code formatting (code style) was standardised using clang-format, over the whole Nektar++ code. This means changes in your branch will conflict with formatting changes on the master branch. To resolve these conflicts , see #295 (closed)

Merge request reports