Re: PG vs macOS Mojave

Jakob Egger <jakob@eggerapps.at>

From: Jakob Egger <jakob@eggerapps.at>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: pgsql-hackers@lists.postgresql.org
Date: 2018-10-16T11:56:49Z
Lists: pgsql-hackers
Am 25. Sep. 2018 um 06:49 schrieb Tom Lane <tgl@sss.pgh.pa.us>:
> It's a bit scary to be adding -isysroot globally.
> (...)
> I've tested this on all the macOS versions I have at hand, and it
> doesn't seem to break anything.  
> (...)
> Thoughts?
> 
> 			regards, tom lane

This breaks building extensions with a different SDK than the server itself.

Previously, it was possible for users to download a binary PostgreSQL distribution and build an extension just by typing 'make install'.

Now pgxs/src/makefile.global contains -isysroot of the machine where PostgreSQL was built. If they use a different version of Xcode, or if they renamed Xcode (I often use multiple versions side by side), compilation will fail.

As a workaround for Postgres.app, I've tried setting PG_SYSROOT to /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk (which is a symlink to the current SDK). This allows building extensions on a newer OS than what I use for building the server, but if the user renames Xcode that still doesn't help.

Jakob