On Tue, Jan 19, 2021 at 8:57 AM Tom Lane <t...@sss.pgh.pa.us> wrote: > > James Hilliard <james.hillia...@gmail.com> writes: > > On Tue, Jan 19, 2021 at 8:27 AM Tom Lane <t...@sss.pgh.pa.us> wrote: > >> We already dealt with that by not selecting an SDK newer than the > >> underlying OS (see 4823621db). > > > Tried that, doesn't work, not even sure how it could possibly fix this > > issue at all, > > It worked for me and for Sergey, so we need to figure out what's different > about your setup. What do you get from "xcrun --show-sdk-path" and > "xcrun --sdk macosx --show-sdk-path"? What have you got under > /Library/Developer/CommandLineTools/SDKs ? $ xcrun --show-sdk-path /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk $ xcrun --sdk macosx --show-sdk-path /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.1.sdk $ ls -laht /Library/Developer/CommandLineTools/SDKs total 0 drwxr-xr-x 5 root wheel 160B Jan 14 2020 . drwxr-xr-x 8 root wheel 256B Jan 14 2020 MacOSX10.15.sdk drwxr-xr-x 7 root wheel 224B Jan 14 2020 MacOSX10.14.sdk lrwxr-xr-x 1 root wheel 15B Jan 14 2020 MacOSX.sdk -> MacOSX10.15.sdk > > > this can not be fixed properly by selecting a specific SDK version > > alone, it's the symbols valid for a specific target deployment version > > that matters here. > > I don't think I believe that argument. As a counterexample, supposing > that somebody were intentionally cross-compiling on an older OSX platform > but using a newer SDK, shouldn't they get an executable suited to the > SDK's target version? Yep, that's exactly what this should fix:
MACOSX_DEPLOYMENT_TARGET=11.0 ./configure checking for pwritev... yes Which fails at runtime on 10.15: dyld: lazy symbol binding failed: Symbol not found: _pwritev Referenced from: /usr/local/pgsql/bin/postgres (which was built for Mac OS X 11.0) Expected in: /usr/lib/libSystem.B.dylib dyld: Symbol not found: _pwritev Referenced from: /usr/local/pgsql/bin/postgres (which was built for Mac OS X 11.0) Expected in: /usr/lib/libSystem.B.dylib child process was terminated by signal 6: Abort trap: 6 MACOSX_DEPLOYMENT_TARGET=10.15 ./configure checking for pwritev... no Noticed a couple small issues, I'll send a v2. > > (I realize that Apple thinks we ought to handle that through run-time > not compile-time adaptation, but I have no interest in going there.) > > regards, tom lane