Subject: RE: [BUG] Re: Git 2.35.0-rc0

From: <[email-masked]>
Date: Mon, 10 Jan 2022 21:57:57 -0500

On January 10, 2022 9:53 PM, Taylor Blau wrote:
> On Mon, Jan 10, 2022 at 09:20:15PM -0500, [email-masked]
> wrote:
> > Hi All,
> >
> > Git 2.35.0-rc0 is not portable:
> >
> > uncompress2(uncompressed + block_header_skip, &dst_len,
> >                    ^
> > "/home/ituglib/randall/jenkins/.jenkins/workspace/Git_Pipeline/reftabl
> > e/bloc
> > k.c", line 213: error(114):
> >           identifier "uncompress2" is undefined
> >
> > This is not a POSIX compliant call.
> 
> uncompress2() isn't a POSIX thing, it's part of zlib IIUC. The new caller is in the
> reftable code, which provides a build knob
> NO_UNCOMPRESS2 that you can use if your version of zlib does not have
> uncompress2().
> 
> uncompress2() was added to zlib back in 37281ac (Add uncompress2()
> function, which returns the input size used., 2016-11-15), which first
> appeared in version 1.2.9.
> 
> If your system doesn't have a modern-ish zlib, you may try building with that
> knob, or upgrading your system's copy of zlib. And if NonStop doesn't have a
> modern zlib available at all, we should modify the NonStop section of
> config.mak.uname.

There is no provision in reftable/block.c to avoid using uncompress2, so the knob will not help. Our zlibc is not that recent (as in it does not have uncompress2) and we cannot make the 2.35.0 timeframe to upgrade it. The current zlib seems to require gcc and is very difficult to port at this stage. This is a blocker situation.

--Randall