<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Nov 3, 2019 at 4:55 AM Ryan Schmidt <<a href="mailto:ryandesign@macports.org">ryandesign@macports.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><br>
<br>
On Nov 3, 2019, at 03:52, Chris Jones wrote:<br>
<br>
> Hi,<br>
> <br>
> On 2 Nov 2019, at 4:56 pm, Ryan Schmidt wrote:<br>
> <br>
>> Josh told me when Mojave was released that we weren't installing the CLT anymore on the builders.<br>
>> <br>
>> Then when Xcode 11 came along and we had zillions of problems building things with it on Mojave without the CLT, Josh said we were changing our recommendation back to installing the CLT.<br>
>> <br>
>> So that's what I then did on the Mojave builder, and when I set up the Catalina worker.<br>
>> <br>
> <br>
> Thats understandable, but the problem is upgrading Xcode to 11.2 does not help as much when the CLT tools are still stuck at the buggy older version, as if both are installed the older CLT SDK is now preferred, so builds still fail. Hopefully<br>
> <br>
> <a href="https://github.com/macports/macports-ports/pull/5673" rel="noreferrer" target="_blank">https://github.com/macports/macports-ports/pull/5673</a><br>
> <br>
> Will help a bit, And also hopefully Apple will not be too long in releasing an updating CLT that is also fixed....<br>
<br>
The fact that the CLT SDK is now preferred is another reason why we want to go back to requiring the CLT. After Xcode 11 was released and Mojave users upgraded to it, we discovered just how pervasive the problem of SDK paths baked into build scripts was, as zillions of bug reports started pouring in about the MacOSX10.14.sdk being missing. Having the CLT installed on the build server ensures that any SDK paths that do get baked in will be for something that continues to exist even if Xcode is upgraded or is not present.<br></blockquote><div><br></div><div>So you are saying that SDK paths are baked in as /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk (as the current CommandLineTools no longer installs in /). I'm rather surprised that folks bothered to hard code that path rather than just use `xcrun --show-sdk-path` to discover it. Is it really that hard to patch those build scripts to handle that properly?</div><div>              Jack</div></div></div></div></div>