[MacPorts] #68731: pinentry-mac does not build with Xcode 15

MacPorts noreply at macports.org
Sun May 26 15:22:45 UTC 2024


#68731: pinentry-mac does not build with Xcode 15
---------------------------+--------------------
  Reporter:  szhorvat      |      Owner:  (none)
      Type:  defect        |     Status:  new
  Priority:  Normal        |  Milestone:
 Component:  ports         |    Version:
Resolution:                |   Keywords:
      Port:  pinentry-mac  |
---------------------------+--------------------

Comment (by FlyingSamson):

 OK I get it now.

 `configure_get_sdkroot` checks:
   - if
 `/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13`
 exists, which for Xcode 14 it does not.
   - Then it attempts to find a SDK with "close" version in the same
 directory, which means having the same major version of 13. Again this
 does not exist for Xcode 14.
   - Then it searches for a cached sdkroot with version 13 or tries to find
 one using `xcrun --sdk macosx13 --show-sdk-path` and  `xcrun --sdk
 macosx13.6.6 --show-sdk-path` also without success.
   - Then it searches for
 `/Library/Developer/CommandLineTools/SDKs/MacOSX13.sdk` which exists and
 will be returned.
   - Only if this would also fail would it try to find a newer SDK using
 the command `xcrun --sdk macosx --show-sdk-path`, which is also the one
 used by the `Sequel-Ace` portfile to set the `sdkroot` directly.

 In `configure_get_sdkroot` this fallback is commented with
 {{{
     # Support falling back to "macosx" if it is present.
     #       This leads to problems when it is newer than the base OS
 because many OSS assume that
     #       the SDK version matches the deployment target, so they
 unconditionally try to use
     #       symbols that are only available on newer OS versions..
 }}}
 From this I gather that it is not an option to make this more of a
 default.

 This leaves me with the question: Do we generally assume that building
 with the `CLT SDK` with the same version as the OS (i.e., 13 in this case)
 works?
 From your statement

   > So the task would be to discover why this build is deliberately
 looking for the nonexistent macOS 13 SDK and to convince it instead to use
 the SDK that MacPorts told it to use (which is the one you have)

 I would understand that we would indeed not assume the `CLT SDK 13` to
 work and should somehow tell him to use the `non-CLT SDK 14`.

-- 
Ticket URL: <https://trac.macports.org/ticket/68731#comment:9>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list