Thread

  1. Re: PG vs macOS Mojave

    Jakob Egger <jakob@eggerapps.at> — 2018-10-17T12:11:04Z

    Am 16. Okt. 2018 um 17:13 schrieb Tom Lane <tgl@sss.pgh.pa.us>:
    > Oh, well *this* is interesting.  I stated at the top of this thread that
    > pltcl doesn't build on Mojave without -isysroot because TCL_INCLUDE_SPEC
    > gets set to
    > 	-iwithsysroot /System/Library/Frameworks/Tcl.framework/Versions/8.5/Headers
    
    > Now, I would swear that I tested that before, and it didn't work;
    > but I think I might have been testing the combination of Xcode 10 on
    > High Sierra.  It definitely works with Xcode 10 on Mojave.  I no longer
    > have a High Sierra installation to recheck the original observation on.
    
    I realised that I can disable PG_SYSROOT by providing a non-existing dir name,
    so I've done some testing to try to reproduce your original issue.
    
    I've tested building the PG 11.0 tarball on the following systems:
    
    macOS 10.13 with Xcode 9.4.1
    macOS 10.13 with Xcode 10.0
    macOS 10.14 with Xcode 10.0
    
    On macOS 10.13 the following worked fine both for Xcode 9 and 10:
    PG_SYSROOT=no-sysroot ./configure --with-tcl
    
    On macOS 10.14 the above failed because it didn't find tclConfig.sh.
    The following did work:
    PG_SYSROOT=no-sysroot ./configure --with-tcl --with-tclconfig=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/Tcl.framework
    
    So it seems that providing -isysroot is not actually necessary for building --with-tcl.
    clang finds the headers just fine.
    
    Is it possible that you were using a different compiler that made the -isysroot setting necessary?
    
    In any case, I'm pretty sure that your patch should fix my problem with building extensions.
    
    For Postgres.app, since I'm building on macOS 10.12, I think I will just use the PG_SYSROOT=no-sysroot trick for now.
    
    Best regards,
    Jakob