On Jun 25, 2021, at 16:39, ChrisF wrote:
> I've upgraded to Big Sur (11.4) using a clean install followed by a restore
> of all users( except MacPorts) from a Time Machine backup. I also restored
> apps.
>
> When I went do a clean install of MacPorts I saw that XCode was still present
> in Applications, had a bit of a brain fade and assumed that it had been
> updated like the other Apple apps, and went ahead an installed MacPorts
> without further ado. (I have not installed any ports yet.)
>
> So now I think I have MacPorts linked to a 10.x version of XCode. I've
> downloaded the latest version of XCode from the App Store, and I was just
> about to uninstall MacPorts when I read the first para of 2.4 of the User
> Guide, which suggests that I seek advice here.
>
> So, do I need to completely uninstall and reinstall MacPorts or is there an
> easier path to a reliable MacPorts?
>
I would say just update Xcode and leave MacPorts and the installed ports as-is.
They're probably fine.
MacPorts itself doesn't record or remember what version of Xcode you used when
you installed it. If you were able to install MacPorts, then MacPorts itself is
fine.
A small minority of individual ports do remember what SDK version was used when
you built them. And even if you installed any of those ports while having the
wrong version of Xcode, in many cases this problem won't affect you since in
many cases you receive a binary from our server. However on macOS 11 SDK
versions are changing much more rapidly than they did with macOS 10.x so even
if you receive a binary from us it may still have the wrong SDK version baked
in. (See for example https://trac.macports.org/ticket/62440.) This is an
ongoing problem that we still need to fix in several ports (for example by
making those ports not bake in an SDK at all or by making them bake in a more
generic SDK such as MacOSX11.sdk (which exists for any Xcode version 12.5 or
later) or MacOSX.sdk (which exists for any Xcode version of the past many
years) instead of e.g. MacOSX11.0.sdk (which only exists in Xcode 12.2 and not
in later or earlier versions).