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
python310: fix universal build on older systems #14786
Conversation
Notifying maintainers: |
This seems backwards at first glance. Can you give more details on what problem this is solving, and how? |
Sorry, this is not a proper solution solution. On a 10.5 VM, a i386/x86_64 universal Python build is not correct.
During the build process, the following seems to be the problem:
Oddly, More research seems to be in order. |
That looks like the same thing as Trac #63782. Modules are rebuilt during the destroot phase, after the -arch flags are stripped out of the config. I wasn't yet able to determine how the build system is deciding that the rebuild is needed (and thus how to prevent it). |
Patching the file _sysconfigdata__darwin_darwin.py in post-build seems to cause rebuilds (without the `-arch` flags) during the destroot phase. See also https://trac.macports.org/ticket/63782 Revbump is needed since the universal build can be incorrect on older systems.
370562d
to
9bab9a1
Compare
@jmroot, thank you for the link. Do you think this pull request might be headed in the right direction? |
The problem with making the modification in post-destroot is that the .pyc won't match the .py. |
In the pull request, there is code in the
|
I see, that would indeed be a better solution. Unfortunately it doesn't seem to work in its current form:
|
Thanks for checking. |
I added an attempted fix, we'll see if CI succeeds. |
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.
OK, looks good.
There was a problem with case-sensitive filesystems, but I've fixed that now, and it looks like all platforms are green on buildbot. Thanks Marcus! |
It seems that the build system assumes that the default compiler
build architecture is the same as the default run architecture.
Revbump is needed since the universal build can be incorrect
on older systems.
Description
Type(s)
Tested on
macOS 10.5.8 9L31a i386
Xcode 3.1.4 9M2809
Verification
Have you
port lint --nitpick
?sudo port test
?sudo port -vst install
?