Re: [PATCH 2/6] meson: check for getpagesize before using it
- From
Eli Schwartz <eschwartz@gentoo.org>
- Date
- Apr 25, 2025, 00:06 UTC
- Message-ID
- <83897914-0b97-4a1d-b2aa-714d42043e63@gentoo.org>
- In-Reply-To
- <xmqqecxhruin.fsf@gitster.g>
On 4/24/25 7:48 PM, Junio C Hamano wrote:
Show 33 quoted lines
> Eli Schwartz <eschwartz@gentoo.org> writes: > >> It is deprecated and removed in SUS v3 / POSIX 2001, so various systems >> may not include it. Solaris, in particular, carefully refrains from >> defining it except inside of a maze of `#ifdef` to make sure you have >> kept your nose clean and only used it in code that *targets* SUS v2 or >> earlier. >> >> config.mak.uname defines this automatically, though only for QNX. >> >> Signed-off-by: Eli Schwartz <eschwartz@gentoo.org> >> --- >> meson.build | 2 ++ >> 1 file changed, 2 insertions(+) >> >> diff --git a/meson.build b/meson.build >> index 6c147c22a4..f5d9ffcd7f 100644 >> --- a/meson.build >> +++ b/meson.build >> @@ -1300,6 +1300,8 @@ checkfuncs = [ >> 'mkdtemp', >> # no compat >> 'initgroups', >> + # no compat >> + 'getpagesize', >> ] >> >> if host_machine.system() == 'windows' > > Is this related to this breakge we started seeing for 'seen' > recently? > > https://github.com/git/git/actions/runs/14653573748/job/41124519642
Yes.
compat/mingw.c defines mingw_getpagesize, and posix.h defines -- when the function is detected as missing:
#define getpagesize() sysconf(_SC_PAGESIZE)
That means we can't check for it on mingw or we end up with two definitions. I will move it to the else block in:
if host_machine.system() == 'windows' libgit_c_args += '-DUSE_WIN32_MMAP' else
-- Eli Schwartz