Subject: Re: [PATCH RESEND] sane-ctype: fix compiler error on Amazon Linux 2

From: Patrick Steinhardt <[email-masked]>
Date: Fri, 11 Jul 2025 09:56:12 +0200

On Thu, Jul 10, 2025 at 02:01:15PM -0700, Junio C Hamano wrote:
> Patrick Steinhardt <[email-masked]> writes:
> 
> >> > This error bisect back to 75a044f748 (git-compat-util.h: split out
> >> > POSIX-emulating bits, 2025-02-18), where lots of bits got split out of
> >> > "git-compat-util.h" into a new "compat/posix.h" header.
> 
> So there was a subtle change in the inclusion order or something,
> i.e. we used to include <sane-ctype.h> a lot earlier as part of the
> <git-compat-util.h> that tightly controls inclusion order exactly to
> avoid this kind of problems, but that has eroded recently?
> 
> In any case, it means that our definitions in <sane-ctype.h> will be
> overwritten if we allow system-supplied <ctype.h> included, and this
> is an obvious workaround, likely to remain correct as long as their
> <ctype.h> is not so broken to allow multiple inclusion.

Yup, exactly. Toon figured out that this is actually neither glibc nor
GCC that causes this -- it's OpenSSL that transitively pulls in
<ctype.h>. Later versions of OpenSSL seem to not do that anymore.

I can reroll and update the commit message, but am a bit hesitant given
that I wasn't able to send out this mail in the first place due to
whatever reason :/

Patrick