I have problems with my CINT compiler

Sorry to bother you, but I have a problem compiling with my Macro. After the compilation, Root presents many similar error messages. Following the path, it leads to a C++ library, like if it was modified. How can I solve this? Have I to simply re-download the whole library or are there other ways? Thank you

These are the messages that ROOT gives me:

root [0] .L ParticleType.h+
Info in TUnixSystem::ACLiC: creating shared library /home/emanuele/./ParticleType_h.so
Error: class,struct,union or type decltype(nullptr) not defined /usr/include/x86_64-linux-gnu/c++/6/bits/c++config.h:205:
Error: unrecognized language construct /usr/include/c++/6/bits/atomic_base.h:162:
Error: Symbol default is not defined in current scope /usr/include/c++/6/bits/atomic_base.h:162:
Error: unrecognized language construct /usr/include/c++/6/bits/atomic_base.h:163:
Error: Symbol default is not defined in current scope /usr/include/c++/6/bits/atomic_base.h:163:
Error: Symbol delete is not defined in current scope /usr/include/c++/6/bits/atomic_base.h:164:
Error: Symbol delete is not defined in current scope /usr/include/c++/6/bits/atomic_base.h:165:
Error: unrecognized language construct /usr/include/c++/6/bits/atomic_base.h:166:
Error: Symbol delete is not defined in current scope /usr/include/c++/6/bits/atomic_base.h:166:
Error: Redefinition of default argument /usr/include/c++/6/bits/atomic_base.h:181:
Error: Redefinition of default argument /usr/include/c++/6/bits/atomic_base.h:198:
Error: Symbol bool is not defined in current scope /usr/include/c++/6/bits/atomic_base.h:244:
Error: Function alignof(bool) is not defined in current scope /usr/include/c++/6/bits/atomic_base.h:244:
Error: Invalid type ‘constexpr’ in declaration of ‘int _S_alignment’ /usr/include/c++/6/bits/atomic_base.h:244:
Syntax error /usr/include/c++/6/bits/atomic_base.h:246:
Error: unrecognized language construct /usr/include/c++/6/bits/atomic_base.h:246:
Error: unrecognized language construct /usr/include/c++/6/bits/atomic_base.h:249:
Error: Symbol default is not defined in current scope /usr/include/c++/6/bits/atomic_base.h:249:
Error: unrecognized language construct /usr/include/c++/6/bits/atomic_base.h:250:
Error: Symbol default is not defined in current scope /usr/include/c++/6/bits/atomic_base.h:250:
Error: Symbol delete is not defined in current scope /usr/include/c++/6/bits/atomic_base.h:251:
Error: Symbol delete is not defined in current scope /usr/include/c++/6/bits/atomic_base.h:252:
Error: unrecognized language construct /usr/include/c++/6/bits/atomic_base.h:253:
Error: Symbol delete is not defined in current scope /usr/include/c++/6/bits/atomic_base.h:253:
Error: Redefinition of default argument /usr/include/c++/6/bits/atomic_base.h:380:
Error: Redefinition of default argument /usr/include/c++/6/bits/atomic_base.h:401:
Error: Redefinition of default argument /usr/include/c++/6/bits/atomic_base.h:420:
Error: Redefinition of default argument /usr/include/c++/6/bits/atomic_base.h:462:
Error: Redefinition of default argument /usr/include/c++/6/bits/atomic_base.h:506:
Error: Redefinition of default argument /usr/include/c++/6/bits/atomic_base.h:519:
Error: Redefinition of default argument /usr/include/c++/6/bits/atomic_base.h:529:
Error: Redefinition of default argument /usr/include/c++/6/bits/atomic_base.h:539:
Error: Redefinition of default argument /usr/include/c++/6/bits/atomic_base.h:549:
Error: Redefinition of default argument /usr/include/c++/6/bits/atomic_base.h:559:
Error: abstract class object ‘__atomic_base _M_base’ declared /usr/include/c++/6/atomic:61:
Error: unrecognized language construct /usr/include/c++/6/atomic:64:
Error: Symbol default is not defined in current scope /usr/include/c++/6/atomic:64:
Error: unrecognized language construct /usr/include/c++/6/atomic:65:
Error: Symbol default is not defined in current scope /usr/include/c++/6/atomic:65:
Error: Symbol delete is not defined in current scope /usr/include/c++/6/atomic:66:
Error: Symbol delete is not defined in current scope /usr/include/c++/6/atomic:67:
Error: unrecognized language construct /usr/include/c++/6/atomic:68:
Error: Symbol delete is not defined in current scope /usr/include/c++/6/atomic:68:
Error: Redefinition of default argument /usr/include/c++/6/atomic:98:
Error: Redefinition of default argument /usr/include/c++/6/atomic:106:
Error: Redefinition of default argument /usr/include/c++/6/atomic:115:
Error: Redefinition of default argument /usr/include/c++/6/atomic:135:
Error: Redefinition of default argument /usr/include/c++/6/atomic:155:
Error: Missing one of ’
;:=±)(&^%$#@!~’"|][}{/?.>,<’ expected at or after line 5012.
Error: Unexpected end of file (G__fgetstream():2) /usr/include/c++/6/atomic:5012:
Error: Missing one of ’
;:=±)(
&^%$#@!~’"|][}{/?.>,<’ expected at or after line 5012.
Error: Unexpected end of file (G__fgetstream():2) /usr/include/c++/6/atomic:5012:
Error: Missing one of ’
;:=±)(&^%$#@!~’"|][}{/?.>,<’ expected at or after line 5012.
Error: Unexpected end of file (G__fgetstream():2) /usr/include/c++/6/atomic:5012:
Error: Missing one of ’
;:=±)(
&^%$#@!~’"|][}{/?.>,<’ expected at or after line 5012.
Error: Unexpected end of file (G__fgetstream():2) /usr/include/c++/6/atomic:5012:
Error: Missing one of ’
;:=±)(&^%$#@!~’"|][}{/?.>,<’ expected at or after line 5012.
Error: Unexpected end of file (G__fgetstream():2) /usr/include/c++/6/atomic:5012:
Error: Missing one of ’
;:=±)(
&^%$#@!~’"|][}{/?.>,<’ expected at or after line 5012.
Error: Unexpected end of file (G__fgetstream():2) /usr/include/c++/6/atomic:5012:
Error: Missing one of ’
;:=±)(&^%$#@!~’"|][}{/?.>,<’ expected at or after line 5012.
Error: Unexpected end of file (G__fgetstream():2) /usr/include/c++/6/atomic:5012:
Error: Missing one of ’
;:=±)(
&^%$#@!~’"|][}{/?.>,<’ expected at or after line 5012.
Error: Unexpected end of file (G__fgetstream():2) /usr/include/c++/6/atomic:5012:
Error: Missing one of ’
;:=±)(&^%$#@!~’"|][}{/?.>,<’ expected at or after line 5012.
Error: Unexpected end of file (G__fgetstream():2) /usr/include/c++/6/atomic:5012:
Error: Missing one of ’
;:=±)(
&^%$#@!~’"|][}{/?.>,<’ expected at or after line 5012.
Error: Unexpected end of file (G__fgetstream():2) /usr/include/c++/6/atomic:5012:
Error: Unexpected end of file (G__fgetc()) /usr/include/c++/6/atomic:5012:
Error in : Dictionary generation failed!
Info in : Invoking compiler to check macro’s validity

[quote]Error: Invalid type ‘constexpr’ in declaration of ‘int _S_alignment’ /usr/include/c++/6/bits/atomic_base.h:244[/quote]CINT does not support C++11. Either hide those header files from CINT behind if “#ifndef CINT” or upgrade to using ROOT v6.08/02 where CINT was replaced by Cling and we can support C++11 and C++14 and beyond.

Cheers,
Philippe.

Thank for your help, I’ll try re-installing ROOT, but since I first installed it with a command-line, I’m asking you which distribution, between the source and the binary, is easier to install, and if there is a particular procedure. Thank you again.

Hi,

ROOT v6 might be available the same way you got ROOT v5.

Otherwise, if you are using one of the supported platform, using a binary build might be the easiest, see root.cern.ch/content/release-60802.

Alternatively you can build from source, see root.cern.ch/building-root

Cheers,
Philippe.