-
-
Notifications
You must be signed in to change notification settings - Fork 30.1k
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
bpo-43052: Make dyld search work with SYSTEM_VERSION_COMPAT=1 #24324
Conversation
In macOS Big Sur, if the executable was compiled with `MACOSX_DEPLOYMENT_TARGET=10.15` or below, then SYSTEM_VERSION_COMPAT=1 is the default which means that Big Sur reports itself as 10.16 which means that `__builtin_available(macOS 11.0)` will not be triggered. This can be observed by using the python 3.9.1 universal2 installer and using it on x86_64 Big Sur or with Rossetta 2 on arm64 Big Sur. (Not an issue with native arm64 as that part is compiled with `MACOSX_DEPLOYMENT_TARGET=11.0`)
Original issue is that the following returned None. |
Thank you for the PR. Please open an issue for this on bugs.python.org and add the issue number to the PR as described in the Python Developers Guide. |
Is there documentation how this works? In particular, documentation that shed a light on what will happen once macOS 12 is released. There are other checks for macOS 11 using __builtin_available, and there may be similar checks for macOS 12 later on. I wonder how that will work |
I don't know. I only saw https://eclecticlight.co/2020/08/13/macos-version-numbering-isnt-so-simple/ Consider the following program A,
and program B,
compile A with For macOS 12, I have no idea how it will work. (probably, it'll be 10.17, but that's pure speculation on my part) |
See my comment about this on the bug tracker. |
This PR is stale because it has been open for 30 days with no activity. |
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 hasn't been established yet that this change is needed. See the discussion here on the PR and on the bug tracker. Without further justification, I would suggest we close the PR.
A Python core developer has requested some changes be made to your pull request before we can consider merging it. If you could please address their requests along with any other requests in other reviews from core developers that would be appreciated. Once you have made the requested changes, please leave a comment on this pull request containing the phrase |
This PR is stale because it has been open for 30 days with no activity. |
I agree. This only affects users running with "SYSTEM_VERSION_COMPAT" set in the environment, |
In macOS Big Sur, if the executable was compiled with
MACOSX_DEPLOYMENT_TARGET=10.15
or below, then SYSTEM_VERSION_COMPAT=1 is the default which means that Big Sur
reports itself as 10.16 which means that
__builtin_available(macOS 11.0)
will not be triggered.This can be observed by using the python 3.9.1 universal2 installer and using it on
x86_64 Big Sur or with Rossetta 2 on arm64 Big Sur. (Not an issue with native arm64
as that part is compiled with
MACOSX_DEPLOYMENT_TARGET=11.0
)cc @ronaldoussoren
https://bugs.python.org/issue43052