Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in
  • C cmsgemos
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 95
    • Issues 95
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
    • Requirements
  • Merge requests 15
    • Merge requests 15
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
    • Test Cases
  • Deployments
    • Deployments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Container Registry
    • Infrastructure Registry
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • cmsgemonline
  • gem-daq
  • cmsgemos
  • Merge requests
  • !302

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

  • Review changes

  • Download
  • Email patches
  • Plain diff
Merged Laurent Petre requested to merge feature/root into main Feb 08, 2023
  • Overview 1
  • Commits 1
  • Pipelines 5
  • Changes 3

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 Feb 20, 2023 by Laurent Petre
Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: feature/root