Skip to content

undefined reference to 'TChain::kBigNumber' when ROOT is built without C++17 #9422

Description

@veprbl
  • Checked for duplicates

Describe the bug

ROOT seems to claim (some?) C++14 compatibility. However the current use of static constexpr member values are missing external linking support

To Reproduce

    std::vector<int> v;
    v.push_back(TChain::kBigNumber); // fail
    v.push_back(1 + TChain::kBigNumber); // fine

Also can play with a toy example in https://godbolt.org/z/frn4e8KPd

Setup

Seen in production with ROOT 6.16 + GCC 4.8.5, but can be also demonstrated with modern GCC running with -std=c++14

Additional context

See references:

Metadata

Metadata

Assignees

Labels

Type

No type

Fields

No fields configured for issues without a type.

Projects

Status
Issues

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions