Re: Building git-1.5.3.7 on HP-UX 11.00
- From
Shawn O. Pearce <spearce@spearce.org>
- Date
- Dec 11, 2007, 08:54 UTC
- Message-ID
- <20071211085440.GK14735@spearce.org>
- In-Reply-To
- <7vfxy9fxh3.fsf@gitster.siamese.dyndns.org>
Junio C Hamano <gitster@pobox.com> wrote:
Show 12 quoted lines
> "H.Merijn Brand" <h.m.brand@xs4all.nl> writes: > > > 3 I am willing to believe that HP_UX' vsnprintf () is broken, or > > at least does not conform to the expectations in the GNU world, > > but chickening out like the way strbuf_addf () does is maybe a > > bit too rude, so I forced a minimum of 64bytes available. That > > fixes a lot! > > > > but it still breaks t4013 :( > > I think Shawn had something similar for Solaris, and if it is a small > cost to help portability, it does not feel so bad.
My Solaris change is already in your tree; on Solaris vnsprintf will return -1 if the input buffer we gave it had a length of 0. This can happen at odd times, depending on what is already in the strbuf and how its buffer is. :)
The fix for Solaris turned out to be just make sure there is at least 1 byte in the buffer before calling vsnprintf().
> > + git-index-pack -o tmp.idx test-2-7f8ead892057e78576c0329a70cc83afb113f117.pack > > fatal: serious inflate inconsistency > > That sounds like a broken zlib X-<.
I think this is actually a broken pread(). Its been reported multiple times by different people on HP-UX. Compiling with NO_PREAD=1 resolves the issues for everyone who has tried it.
Jakub asked me for an autoconf test to look for this sort of breakage in pread(), I have yet to come up with a theory for what sort of breakage HP-UX is showing us here, let alone write a test for it.
-- Shawn.