C23 defines bool stuff as keywords. Use stdbool.h and make things work with gcc15 by default. diff -ru libsndfile-1.2.2/src/ALAC/alac_decoder.c libsndfile-1.2.2.fix/src/ALAC/alac_decoder.c --- libsndfile-1.2.2/src/ALAC/alac_decoder.c 2021-05-17 11:12:28.000000000 +0200 +++ libsndfile-1.2.2.fix/src/ALAC/alac_decoder.c 2025-06-01 15:13:38.288859954 +0200 @@ -27,6 +27,7 @@ #include #include #include +#include #include "alac_codec.h" @@ -38,11 +39,6 @@ #include "ALACBitUtilities.h" #include "EndianPortable.h" -typedef enum -{ false = 0, - true = 1 -} bool ; - // constants/data const uint32_t kMaxBitDepth = 32 ; // max allowed bit depth is 32 diff -ru libsndfile-1.2.2/src/ALAC/alac_encoder.c libsndfile-1.2.2.fix/src/ALAC/alac_encoder.c --- libsndfile-1.2.2/src/ALAC/alac_encoder.c 2021-05-17 11:12:28.000000000 +0200 +++ libsndfile-1.2.2.fix/src/ALAC/alac_encoder.c 2025-06-01 15:11:42.906859968 +0200 @@ -31,6 +31,7 @@ #include #include #include +#include #include "sfendian.h" @@ -44,12 +45,6 @@ #include "ALACAudioTypes.h" #include "EndianPortable.h" -typedef enum -{ - false = 0, - true = 1 -} bool ; - static void GetConfig (ALAC_ENCODER *p, ALACSpecificConfig * config) ; static int32_t EncodeStereo (ALAC_ENCODER *p, struct BitBuffer * bitstream, const int32_t * input, uint32_t stride, uint32_t channelIndex, uint32_t numSamples) ; .