Dropping recommendation to install system headers / command line tools

Rainer Müller raimue at macports.org
Wed Jul 5 12:54:29 UTC 2017


On 2017-07-04 06:21, Jeremy Huddleston Sequoia wrote:
> base currently outputs a warning if system headers are not installed.  I modified the warning a few months ago when I improved our support for building against SDKs, and it now reads:
> 
>    Warning: System headers do not appear to be installed. Most ports should build corectly, but if you experience problems due to a port depending on system headers, please file a ticket at https://trac.macports.org.
>    Warning: You can install them as part of the Xcode Command Line Tools package by running `xcode-select --install'.
> 
> How many developers are using Xcode with the system headers installed vs without system headers?  If you are using system headers (currently installed through the CLTools package and through similar means on older OS versions), can you please indicate why you are unable to use an SDK?  I haven't seen any tickets about issues when using an SDK over system headers, and the only issue I'm aware of is with gcc ports (which is an upstream bug and mostly worked around).

I guess almost everyone has the Command Line Tools installed, if not
only to get rid of this warning...

I do not remember all the details on how it was done on older OS X
release, but originally there were no shims. I think there were some
problems if someone had Command Line Tools installed, but not install
them again after upgrading Xcode. Let's just leave old versions as-is
and only remove these warnings for macOS 10.12 Sierra and later, where
we get the most testing.

We should also add to port log files whether Xcode, Command Line Tools
or both were installed in order to identify such issues.

> I'd like to remove this warning in order to indicate that building against an SDK is now a more supported configuration.  IMO, it should be the *preferred* configuration as it avoids /usr/local/{include,lib} contamination.  What are the thoughts on this?

Does this mean we have to ensure we always pass -isysroot and
-syslibroot on all builds? Currently it is only added for those running
a configure phase...

Rainer


More information about the macports-dev mailing list