root-project / root

The official repository for ROOT: analyzing, storing and visualizing big data, scientifically
https://root.cern
Other
2.66k stars 1.27k forks source link

Clean up and improve Cling's C++ header search #11612

Open hahnjo opened 1 year ago

hahnjo commented 1 year ago

Clang's search for the standard C++ headers is complex, up to messy. It is a combination of build-time decisions in interpreter/cling/lib/Interpreter/CMakeLists.txt and runtime searches in interpreter/cling/lib/Interpreter/CIFactory.cpp. Below I'm listing a number of things I noticed, and I think it would be worth it to clean up this business:

I actually started working on cleaning this up, but stopped when I discovered the problem report from CMS. I think what we need to have first is a proper discussion how we want things to work, and then implement that in a clean way.

Axel-Naumann commented 1 year ago

Before I digest and even start thinking: thank you ❤️ for starting this!

eguiraud commented 1 year ago

It seems that one instance of problem 4 caused problems for dask+htcondor+lxbatch: https://mattermost.web.cern.ch/root/pl/dou6tb5mofnitgxoqs9d8t6x4w