Opened 4 months ago

Closed 4 months ago

Last modified 2 months ago

#70143 closed defect (fixed)

MacPorts can choose the wrong compiler if Xcode and Xcode command line tools versions differ

Reported by: ryandesign (Ryan Carsten Schmidt) Owned by:
Priority: Normal Milestone: MacPorts 2.10.0
Component: base Version: 2.9.3
Keywords: Cc:
Port:

Description

MacPorts knows that C++20 requires Apple clang 1500 or later:

https://github.com/macports/macports-base/blob/9c81555a5e2ddce4a03488918cba3661be262904/src/port1.0/portconfigure.tcl#L949-L950

This is available in Xcode 15 or later or the Xcode command line tools 15 or later.

The macOS 13 GitHub Actions CI runner defaults to having Xcode 15.0.1 and the Xcode command line tools 14.3 installed (see #69668) thus its Xcode clang has C++20 support while its Xcode command line tools clang does not have C++20 support. But MacPorts evidently decides that it's ok to use the Xcode command line tools clang for a C++20-requiring port on the basis of the Xcode clang version. This caused the build failure of a port that requires C++20 (nghttp2-tools) on the macOS 13 runner in https://github.com/macports/macports-ports/pull/24273.

Change History (2)

comment:1 Changed 4 months ago by jmroot (Joshua Root)

Resolution: fixed
Status: newclosed

comment:2 Changed 2 months ago by jmroot (Joshua Root)

Milestone: MacPorts FutureMacPorts 2.10.0
Note: See TracTickets for help on using tickets.