Any reason not to update to Xcode 12.2 on Catalina?
ryandesign at macports.org
Fri Nov 13 10:42:55 UTC 2020
On Nov 12, 2020, at 23:08, Richard L. Hamilton wrote:
> One or two times past, an Xcode version around the time of a new OS release has been a problem on the older OS.
> I don't see anything likely to be that way with Xcode 12.2 (and MacPorts) on Catalina, but I'm looking for alternative opinions; reverting is a nuisance.
> I'm in no hurry for Big Sur at this point; maybe I'll wait for the .1 or .2 of it, unless a compelling reason to update emerges.
Xcode 12.0 contains only the macOS 10.15 SDK. As such, it is suitable for using with macOS 10.15. I believe Xcode 12.1 was the same.
Xcode 12.2 contains only the macOS 11 SDK. As such, it has the potential to cause problems when building some software on macOS 10.15 and you would be safer to stick with Xcode 12.1. For software that does not require Xcode to build, you can mitigate the problem by installing the Command Line Tools for Xcode 12.2, because it contains both the macOS 10.15 SDK and the macOS 11 SDK. For software that does require Xcode to build, with Xcode 12.2 on macOS 10.15, you would be at the mercy of the developers of that software having written it correctly to anticipate differences between the SDK version and the OS version, which not all developers do correctly.
(Xcode 12.0 betas contained the macOS 11 SDK, but it was changed back to the macOS 10.15 SDK when Xcode 12.0 final was released, presumably because macOS 11 was not released yet.)
On macOS 10.15, you can avoid even more problems by limiting yourself to Xcode 11.7 and the Xcode 11.5 version of the command line tools. Upgrading to Xcode 12 or the Xcode 12 version of the command line tools will cause some ports to fail to build with implicit declaration of function errors or other errors that are a consequence of earlier implicit declaration of function errors. This problem is pervasive and although we have fixed many ports already, there are many many more that have yet to be identified and fixed.
More information about the macports-users