Skip to content

ROOT cannot read compiler includes when compiled with a ccache compiler wrapper  #10556

@amadio

Description

@amadio

As mentioned here in some setups the compiler is actually a symlink to ccache. When ROOT is compiled with such a wrapper, it stores ccache as the compiler in compiledata.h (with #define CLING_CXX_RLTV "ccache ") and then ROOT cannot figure out compiler include paths at runtime:

$ root
ERROR in cling::CIFactory::createCI(): cannot extract standard library include paths!
Invoking:
  LC_ALL=C ccache   -xc++ -E -v /dev/null 2>&1 | sed -n -e '/^.include/,${' -e '/^ \/.*++/p' -e '}'
Results was:
With exit code 0
   ------------------------------------------------------------------
  | Welcome to ROOT 6.26/02                        https://root.cern |
  | (c) 1995-2021, The ROOT Team; conception: R. Brun, F. Rademakers |
  | Built for linuxx8664gcc on Apr 12 2022, 16:28:03                 |
  | From tags/v6-26-02@v6-26-02                                      |
  | With                                                             |
  | Try '.help', '.demo', '.license', '.credits', '.quit'/'.q'       |
   ------------------------------------------------------------------

Metadata

Metadata

Type

No type

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions