-
-
Notifications
You must be signed in to change notification settings - Fork 30.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
gh-128146: Exclude os/log.h import on older macOS versions. #128165
base: main
Are you sure you want to change the base?
Conversation
!buildbot iOS |
🤖 New build scheduled with the buildbot fleet by @freakboy3742 for commit 9c0b0d2 🤖 The command will test the builders whose names match following regular expression: The builders matched are:
|
@ned-deily Are you able to explain the macOS build failures here? AFAICT, I can't reproduce these compilation errors locally, and I can't see anything obvious in the CI configuration that is different from my setup. As best as I can make out, the error would be caused if the compilation is being done by a "bare" gcc, rather than clang... but CI is finding the macOS SDK, which should (I think?) be making Am I missing something obvious? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is normal for CI to fail because TARGET_OS_IPHONE
is not defined.
If look at the SDK mirror, this never actually happens. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Updated review.
@aeiouaeiouaeiouaeiouaeiouaeiou
On older SDKs, sure. But the current mainline has a reference to TARGET_OS_IPHONE, and is currently passing CI.
It definitely does on more recent SDKs (MacOSX SDK 15.2 has this import chain). So - the changes you've suggested definitely make sense for guaranteeing support on older SDKs - but they don't explain why main is passing CI, but this PR doesn't. |
!buildbot iOS |
🤖 New build scheduled with the buildbot fleet by @freakboy3742 for commit f81a68e 🤖 The command will test the builders whose names match following regular expression: The builders matched are:
|
And I've worked it out. There was also a stray usage of an OS_LOG symbol when the logging methods were registered, so I've made the compilation of the entire system logger tooling conditional on support existing in the first place. |
!buildbot iOS |
🤖 New build scheduled with the buildbot fleet by @freakboy3742 for commit 0a689b3 🤖 The command will test the builders whose names match following regular expression: The builders matched are:
|
Looks perfect, now I will test these changes locally on my system and VM. |
Sorry for a delay, I was away from my PowerPC until now. Will run the build now. |
@freakboy3742 Thank you! With your patches it builds now. P. S. There are two other errors:
The second is fixable via:
For the first I just passed a flag to downgrade it back to a warning (pre-gcc14 behavior): |
#127592 recently added support for redirecting stdout/err to the Apple System logs, using the os_log API. This API was added in macOS 10.12; and while the usage of the API was gated with a preprocessor directive, the header declaration was not. This adds preprocessor gating on the header definition.
/cc @barracuda156
pylifecycle.c:50:12: fatal error: os/log.h: No such file or directory
#128146