Thread: Re: Fix port/pg_iovec.h building extensions on x86_64-darwin

Re: Fix port/pg_iovec.h building extensions on x86_64-darwin

From
Thomas Munro
Date:
On Sat, Nov 9, 2024 at 8:08 AM Wolfgang Walther <walther@technowledgy.de> wrote:
> When building pg_cron [1] or pg_hll [2] for PG 17 on x86_64-darwin, we
> encounter the following build failure in nixpkgs:

Out of curiosity, is nixos deliberately using an old macOS deployment
target or SDK, 10.something?  I'm just wondering if our feature
detection is working correctly on macOS/x86, because I'd expect real
preadv/pwritev to be there from 11 onwards, and 11 is already out of
support by Apple.



Re: Fix port/pg_iovec.h building extensions on x86_64-darwin

From
Nathan Bossart
Date:
On Sat, Nov 09, 2024 at 11:26:44AM +1300, Thomas Munro wrote:
> Out of curiosity, is nixos deliberately using an old macOS deployment
> target or SDK, 10.something?  I'm just wondering if our feature
> detection is working correctly on macOS/x86, because I'd expect real
> preadv/pwritev to be there from 11 onwards, and 11 is already out of
> support by Apple.

It appears to be working for longfin [0].

[0] https://buildfarm.postgresql.org/cgi-bin/show_stage_log.pl?nm=longfin&dt=2024-11-08%2021%3A36%3A02&stg=configure

-- 
nathan



Re: Fix port/pg_iovec.h building extensions on x86_64-darwin

From
Wolfgang Walther
Date:
Thomas Munro:
> Out of curiosity, is nixos deliberately using an old macOS deployment
> target or SDK, 10.something?  I'm just wondering if our feature
> detection is working correctly on macOS/x86, because I'd expect real
> preadv/pwritev to be there from 11 onwards, and 11 is already out of
> support by Apple.

There has been a lot of work on the macOS SDK in nixpkgs lately, but it 
seems that the default for x86-64 is still v10 [1], yes:

 > x86_64-darwin uses the 10.12 SDK by default, but some software is not
 > compatible with that version of the SDK. In that case, the 11.0 SDK
 > used by aarch64-darwin is available for use on x86_64-darwin. [...]

It seems like the goal is to bump x86-64 to v11 in the next release 
cycle [2].

Best,

Wolfgang

[1]: https://nixos.org/manual/nixpkgs/unstable/#sec-darwin
[2]: 

https://discourse.nixos.org/t/on-the-future-of-darwin-sdks-or-how-you-can-stop-worrying-and-put-the-sdk-in-build-inputs/50574/11