Skip to content

Introduce a minimal C++17 ROOT v6.28/00 library RPM build

Laurent Petre requested to merge feature/root into main

Description

The title says it all... From the commit message:

For some purposes (see #200 and #231), the ability to write ROOT files
would be a significant enhancement while analyzing DAQ data.

However, the cmsgemos code is built in C++17 mode while the official
EPEL7 version of ROOT is built with the system compiler (GCC 4.8.5) in
C++11 mode. Since the ROOT framework requires to be compiled with the
exact same C++ version (and ideally compiler), it is not directly usable
within cmsgemos. A shim layer would be required.

This commit instead introduces a minimal build of ROOT version 6.28
build in C++17 mode via the devtoolset-8 toolchain. While not
recommended, this build appears fully functional with all official tests
passing.

An RPM is provided in the extras cmsgemos repository for eased
deployment and the corresponding SPEC file stored within this Git
repository for reference.

Fixes #225

Related Issue

Relates to #200 (closed) and #231 (closed). Fixes #225 (closed).

How Has This Been Tested?

From the cmsgemos point of view, (1) CMake finds the updated libraries and (2) the CI passes. From the ROOT point of view, (1) all its automated tests pass and (2) its RPM installation behaves as expected.

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

  • My code follows the code style of this project.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have read the CONTRIBUTING document.
  • I have added tests to cover my changes.
  • All new and existing tests passed.
Edited by Laurent Petre

Merge request reports