Dealing with Xcode 9 + macOS <= 10.12 and missing functions

Ryan Schmidt ryandesign at macports.org
Mon Oct 2 17:38:31 UTC 2017


> On Oct 2, 2017, at 01:50, Jeremy Huddleston Sequoia <jeremyhu at macports.org> wrote:
> 
> 
> 
>> On Oct 1, 2017, at 22:55, Ryan Schmidt <ryandesign at macports.org> wrote:
>> 
>> 
>> On Oct 2, 2017, at 00:39, Leonardo Brondani Schenkel wrote:
>> 
>>> On 2017-09-29 13:30, Ryan Schmidt wrote:
>>>> I don't know if I'm the author of the mail you're thinking of, but I've surely commented on this matter before. It's Jeremy Huddleston Sequoia's work on master I was referring to.
>>>> I haven't tested that work. But at least with MacPorts 2.4.1 I perceived that not having an SDK matching the running OS version would be a problem for some ports, so I didn't update our OS X 10.11 buildbot worker from Xcode 7 to 8, and similarly I won't update our macOS 10.12 worker from Xcode 8 to 9.
>>> 
>>> Yes, that's right. The mail I have seen was about some commits from Jeremy, now you reminded me. Thanks.
>>> 
>>> What if MacPorts outputted a warning when there's a SDK mismatch (maybe pointing users to the right version of Xcode to use)? In my case, when Xcode was updated I didn't know it had the 10.13 SDK until ports started failing, and it would have saved me a bit of troubleshooting. Is it a worthwhile idea to implement?
>> 
>> That sounds ok to me, but I gather that Jeremy still thinks that should not be necessary.
> 
> If you install the DevSDK (which is part of the Command Line Tools Package), then there's not really a need to stay on Xcode 8.  The relevant system headers are installed to / by that package, and those are used instead of the macOS 10.13 SDK by almost all ports (there are possibly a few that do weird things, but the vast majority that follow best practices will "just work").  It's been that way for years, and I haven't noted any issues reported about that.
> 
> If you have mismatched SDK/host versions *AND* you do not have the DevSDK installed, we err out.


I am thinking of problems such as used to exist in cmake, where it assumed that there would exist an SDK version to match the OS version. I don't recall whether that issue was ever resolved.




More information about the macports-dev mailing list