I am trying to install root 6.28.04 from source on ubuntu 20.04 but I get this error:
error: expected nested-name-specifier before ‘TBufferMergerFile
and installation terminates
The reason why I am installing root from source and not a precompiled distribution is because libdelphes is not installed in the precompiled dist and I get this error:
fatal error: ‘libDelphes’ file not found
Our precompiled binaries work on ubuntu20.04, I am not sure what libDelphes has to do with it. Irrespective of that, you could always install ROOT via condaInstalling ROOT - ROOT (see this post for a faster installation).
The problem is I get an error when using mamba or conda that looks like this when I run root:
error: unsupported option ‘–ptrcheck’
Warning in cling::IncrementalParser::CheckABICompatibility():
Possible C++ standard library mismatch, compiled with GLIBCXX ‘20200808’
Extraction of runtime standard library version was: ‘20220628’
terminate called after throwing an instance of ‘std::logic_error’
what(): basic_string::_M_construct null not valid
I wasn’t expecting the warning from cling, and I opened a github issue to track it, but it should definitely not tell you about the standard C++ library mismatch.
As I said, are you sure you are using the same environment for both installing and using ROOT? This is really something generic, for every package you use you should make sure you have the same environment.