Thank you for the report and analysis. I've fixed it by including gzip.h after everything else.
On Sun, Sep 20, 2026 at 12:46 PM Adam Sampson <[email protected]> wrote: > Hi gzip maintainers, > > gzip 1.15 doesn't compile on AArch64 with linux-headers 7.2.6, with > errors like: > > | In file included from gzip.c:61: > | gzip.h:120:21: error: expected ')' before '+' token > | 120 | # define head (prev+WSIZE) /* hash head (see deflate.c) */ > | | ^ > > On AArch64, include/asm/sigcontext.h includes several structs with > "head" as a field, but gzip.h #defines head to an expression. > It became visible in 1.15 because one of the changes added "#include > <signal.h>" to gzip.c, and that transitively includes asm/sigcontext.h. > > I've worked around this in my packaging by renaming "head" in gzip.h, > unlzh.c and deflate.c, but you could also fix it by not including gzip.h > until after the system headers. > > (I'm actually a bit surprised that there aren't similar clashes in the > headers for other platforms/architectures, but Linux AArch64 is the only > one where this fails for me...) > > Thanks very much, > > -- > Adam Sampson <[email protected]> <http://offog.org/> > > > >
gzip.diff
Description: Binary data
