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



Reply via email to