Error installing root on ubuntu

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

Hi @ymahmoud ,

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 conda Installing ROOT - ROOT (see this post for a faster installation).

Cheers,
Vincenzo

Thank you @vpadulan !

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

Dear @ymahmoud ,

I think you are using a different conda/Python environment when using ROOT w.r.t. the conda/Python environment you used to install ROOT.

This is how I installed and used ROOT on a fresh ubuntu 20.04 docker image:

$: docker run --rm -it ubuntu:20.04
$: apt-get update && apt-get install curl
$: curl -L -O "https://github.com/conda-forge/miniforge/releases/latest/download/Mambaforge-$(uname)-$(uname -m).sh"
$: bash Mambaforge-$(uname)-$(uname -m).sh -b
$: source /root/mambaforge/bin/activate
$: mamba create -n myenv root
$: conda activate myenv
$: python
>>> import ROOT
[ some unexpected warning here, but not breaking ROOT functionality ]
/root/mambaforge/envs/myenv/etc/cling/std.modulemap:257:29: warning: unknown attribute 'optional' [-Wignored-attributes]
>>> ROOT.RDataFrame(100).Count().GetValue()
100

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.

Cheers,
Vincenzo

So How Can I fix this?

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.

Cheers,
Vincenzo

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