ERROR in cling::CIFactory::createCI(): cannot extract standard library include paths! after Ubuntu upgrade

I upgraded Ubuntu 18 to Ubuntu 20.04

I now notice a message when launching root

root -l
ERROR in cling::CIFactory::createCI(): cannot extract standard library include paths!
  LC_ALL=C x86_64-linux-gnu-g++-7  -O3 -DNDEBUG -xc++ -E -v /dev/null 2>&1 >/dev/null | awk '/^#include </,/^End of search/{if (!/^#include </ && !/^End of search/){ print }}' | GREP_OPTIONS= grep -E "(c|g)\+\+"
Results was:
With exit code 256
root [0]

Could you please indicate the action that is required?

Please read tips for efficient and successful posting and posting code

ROOT Version: Not Provided
Platform: Not Provided
Compiler: Not Provided

best guess: your system compiler and standard library implementation were updated together with the system – to versions that are not compatible with your old ROOT installation.

Installing a ROOT version that’s compatible with your new Ubuntu version (i.e. with your new compiler version) should resolve the issue.

You can check for a list of available installation methods, e.g. on Ubuntu you can easily install ROOT with one conda command.


I reinstalled root from binary.

Is installing by conda really recommended?

Great, did that solve your problem?

The conda package is not directly maintained by the ROOT team, although we collaborate with the maintainers when something breaks. We heard very good feedback though. Ultimately what’s best depends on your situation, but if the conda package works for you it’s fast and painless.


At least now the error message has disappeared.

I’ll take it as a yes :smile: Glad I could help.


don’t hesitate to create a new topic should you encounter further issues

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