1. The errors begin with from lib/bitset.h:31/usr/include/sys/_types.h:167:5 error unknown type name wint_t 167 | wint_t __wch; because Bison's submodule dependency is on an older gnulib that doesn't have the fix for this bug described in https://lists.gnu.org/archive/html/bug-gnulib/2024-05/msg00011.html 2. Updating the gnulib submodule to either latest master or a recent branch like stable-202501 or stable-202507 causes many more errors 3. The next error is lib/stddef.h:238:30: error: token @ is not valid in preprocessor expressions 238 | #if !defined __cplusplus && !@HAVE_C_UNREACHABLE@ caused by a missing sed substitution command in gnulib.mk -e 's|@''HAVE_C_UNREACHABLE''@|$(HAVE_C_UNREACHABLE)|g' \ 3. After this change, there were too many errors - and I gave up trying to fix them one by one 4. All errors seem related to recent header file rearrangements for hash.h 5. The first error is src/muscle-tab.c: In function 'hash_muscle':src/muscle-tab.c:100:10: error: implicit declaration of function 'hash_string' [-Wimplicit-function-declaration] 100 | return hash_string (m->key, tablesize); because hash_string is now declared in hashcode-string1.h and hash.h has # if GNULIB_HASHCODE_STRING1/* Include declarations of module 'hashcode-string1'. */# include "hashcode-string1.h"# endif but GNULIB_HASHCODE_STRING1 is not defined anywhere 6. I got past this with #define GNULIB_HASHCODE_STRING1 1 7. The next error is .lib/hash.h:277:12: fatal error: hashcode-string1.h: No such file or directory 277 | # include "hashcode-string1.h" Because lib/hash.h is a symlink to gnulib/lib/hash.h - and hashcode-string1.h is in gnulib/lib and has no symlink from lib 8. Now, is this because a symlink wasn't created - or is it because gnulib/lib should be in #include paths? 9. I fixed this but there are many similar include path errors in files symlinked from lib/ to gnulib/lib like canonicalize.c #include "hashcode-file.h"
All versions of everything are the latest Zartaj