Do not redefine bool constants in C23 C23 now includes predefined constants for the boolean values true and false, and attempting to redefine them ends with a compiler error. Avoid doing that by adjusting the preprocessor guard around that. Upstream-Status: Submitted [email] --- include/sys-defines.h.orig 2026-04-13 22:50:46 +++ include/sys-defines.h 2026-04-13 22:53:57 @@ -253,7 +253,7 @@ /* Support the `bool' datatype, which is used widely in this package. */ /**************************************************************************/ -#ifndef __cplusplus +#if !defined(__cplusplus) && (!defined(__STDC_VERSION__) || __STDC_VERSION__ < 202311L) #ifdef __STDC__ typedef enum { false = 0, true = 1 } bool; #else /* not __STDC__, do things the old-fashioned way */ @@ -261,7 +261,7 @@ #define false 0 #define true 1 #endif /* not __STDC__ */ -#endif /* not __cplusplus */ +#endif /* not __cplusplus and (not __STDC_VERSION__ or __STDC_VERSION__ < 202311L) */ /**************************************************************************/ /* Define numerical constants (unofficial, so may not be in math.h). */