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.