I faced a stupid problem.
I have macro.C and something like
#if !defined(CLING) || defined(ROOTCLING)
When I run root -b macro.C++ I got:
fatal error: ‘fmt/format.h’ file not found
Error in : Dictionary generation failed!
Sure, the environment was loaded long before:
alienv load O2/latest .
Moreover, when compiling another executable with the same inclusion, it compiles fine.