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/>
>
>
>
>

Attachment: gzip.diff
Description: Binary data

Reply via email to