Author ned.deily
Recipients andrewfg1992, ned.deily, ronaldoussoren
Date 2020-08-07.07:25:10
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1596785111.15.0.641060456029.issue41129@roundup.psfhosted.org>
In-reply-to
Content
Thanks for the detailed analysis. That does seem like a reasonable explanation: the code in setup.py was not expecting to find anything other than system files under /System.  For Apple to put other fs mount points in the /System hierarchy seems ... odd but there it is. At first glance, rather than singling out /Systems/Volumes/Data, changing the inclusion test from /System to /System/Library is probably sufficient.

In the most recent SDKs, there is also /System/iOSSupport which is probably never going to come up in Python build contexts but it does point out that making assumptions here about the SDK contents is fragile.  So perhaps an even better solution would be for setup.py to dynamically build a filter based on the contents of the SDK in use, i.e. examine the top level of System and usr in the SDK?

As a reminder when implementing: /usr/local is a bit tricky.  IIRC, recent versions of the compiler chain include /usr/local/include and /usrlocal/bin in the default search paths only in cases where an SDK was not explicitly named, the idea being that you don't want to include references to /usr/local files if you are building something to distribute to the world but it's fine (and necessary) to include /usr/local if you are just building something to run locally on the build system.  I believe /Library works the same way. The tool chains from older version of Xcode and/or CLTs may work differently. So any changes we make here should try to do the right thing on the build tools for all supported versions of macOS.
History
Date User Action Args
2020-08-07 07:25:11ned.deilysetrecipients: + ned.deily, ronaldoussoren, andrewfg1992
2020-08-07 07:25:11ned.deilysetmessageid: <1596785111.15.0.641060456029.issue41129@roundup.psfhosted.org>
2020-08-07 07:25:11ned.deilylinkissue41129 messages
2020-08-07 07:25:10ned.deilycreate