https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120514
--- Comment #6 from Jonathan Wakely <redi at gcc dot gnu.org> --- That would make sense, you were using something like: $prefix/lib/gcc/x86_64-pc-linux-gnu/16.0.0/include-fixed/pthread.h from an older build of GCC trunk, which was installed in Fedora 41 and so used the old glibc definition of PTHREAD_COND_INITIALIZER. But that include-fixed/pthread.h header includes bits/pthreadtypes.h which does *not* get fixinclude'd during a GCC build, so it was coming from the new glibc from Fedora 42. That meant you had the new pthread_cond_t from F42 headers and the old PTHREAD_COND_INITIALIZER from the F41 headers, and they aren't compatible.