bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Many Gnulib errors on Cygwin trying to build Bison from source


From: Z. Majeed
Subject: Many Gnulib errors on Cygwin trying to build Bison from source
Date: Thu, 10 Jul 2025 18:33:17 +0000 (UTC)

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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]