Fedora 28 and ROOT 5

Hello,

I just upgraded from Fedora 27 to 28. With that, gcc version has changed. Even though in Fedora 27 it was quite recent, in Fedora 28 I started to have trouble compiling ROOT 5 (I need to use version 5 of ROOT).

The errors are:

[ 35%] Building CXX object cint/reflex/CMakeFiles/Reflex.dir/src/VariableBuilder.cxx.o
[ 35%] Linking CXX shared library …/…/lib/libReflex.so
[ 35%] Built target Reflex
[ 35%] Generating G__Reflex.cxx, G__Reflex.h
Error: class,struct,union or type decltype(nullptr) not defined /usr/include/c++/8/x86_64-redhat-linux/bits/c++config.h:2184:
Error: unrecognized language construct /usr/include/c++/8/bits/atomic_base.h:162:
Error: Symbol default is not defined in current scope /usr/include/c++/8/bits/atomic_base.h:162:
Error: unrecognized language construct /usr/include/c++/8/bits/atomic_base.h:163:
Error: Symbol default is not defined in current scope /usr/include/c++/8/bits/atomic_base.h:163:
Error: Symbol delete is not defined in current scope /usr/include/c++/8/bits/atomic_base.h:164:
Error: Symbol delete is not defined in current scope /usr/include/c++/8/bits/atomic_base.h:165:
Error: unrecognized language construct /usr/include/c++/8/bits/atomic_base.h:166:
Error: Symbol delete is not defined in current scope /usr/include/c++/8/bits/atomic_base.h:166:
Error: Redefinition of default argument /usr/include/c++/8/bits/atomic_base.h:181:
Error: Redefinition of default argument /usr/include/c++/8/bits/atomic_base.h:198:
Error: Invalid type ‘constexpr’ in declaration of ‘bool value’ /usr/include/c++/8/type_traits:71:

and so on.

I have no idea why it compiled on Fedora 27 but does not on 28. If you could advise any workaround, I would be grateful.

As expected, I found a solution after posting this message. I needed to apply patch from:

https://sft.its.cern.ch/jira/si/jira.issueviews:issue-html/ROOT-8180/ROOT-8180.html

Changing the GCC version in the patch from 6 to 8

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.