Are you updating CMake and GCC at the same time? Why not do it sequentially.
The error does not seem to be related to CMake.
According to your error message bool is the same as unsigned char. In C++ they are specified as distinct types. This usually only happens, if some C programmer creates such a define.
Try to compile a C++ file with just this:
#include <string>
If that fails, something with your cross compiler is wrong.
But if that works, you need to find out why if fails. I would compile cmCursesDummyWidget.cxx manually, and iteratively strip everything before the <string> include until you identify which code before causes that message. Everything after the include can be immediately removed, as they don’t cause the problem.
Josef,
Many thx for replay. I managed to get cmake cross-cmpiling.
Issue was too old ncurses in my distro: i had 6.4; upgrade to 6.5_20250503 fixes issue.
I think it is bug in cmake deps checking - as current 4.0.2 allows to build attempt we know build will be failing due too old dependency.
(interesting is that too old ncurses issue was only manifesting for cmake.
other huge components like qt5 (+5k objects to build or chrominium with +24k objects to build - all were cross-building no problem)