-
-
Notifications
You must be signed in to change notification settings - Fork 180
visionOS Support #270
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
visionOS Support #270
Conversation
i've made ENOUGH typoes tonight already
and did i add an extra newline???
So the makefile is coming all together but we deleted the pyconfig.h shim which affects some stuff. |
I mean in PAS |
oops sorry this IS the PAS repo |
Oops forgot a space after a comma in a Makefile Guess what 1 minute wasted, make clean and making |
ok great this is fixed now so PAS builds! |
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.
A couple of minor tweaks from a first-pass review; I need to run this locally to confirm the patch is accurate.
Co-authored-by: Russell Keith-Magee <russell@keith-magee.com>
OS_LOWER-$(target) is still needed for sitecustomize stuff which I do not have much familiarity with. OS_LOWER-$(sdk) is gotten rid of in the commit I will push after it finishes testing. TRIPLE_OS-$(sdk) is also gotten rid of |
done |
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.
Can confirm this successfully completes a build.
There are, however, a lot of warnings that follow this general pattern:
ld: warning: object file (/Users/rkm/beeware/support/Python-Apple-support/install/visionOS/xros.arm64/openssl-3.0.16-1/lib/libcrypto.a[2](libcrypto-lib-aes_cbc.o)) was built for newer 'visionOS' version (2.0) than being linked (1.0)
That is - the CPython module is being compiled with an xrOS deployment minimum of 1.0, but libcrytpo was compiled with a minimum of 2.0. The same error is raised for all other binary dependencies.
I suspect the cause is that XROS_DEPLOYMENT_TARGET isn't being defined, so the arm64-apple-xros-clang
shim isn't enforcing the right minimum version.
The other issue: It needs the modifications to CI to include a visionOS build.
Can confirm. Same thing with LZMA |
XROS_DEPLOYMENT_TARGET is being checked for in the configure script. |
will push after local test |
OK but this is building .so not .dylib for some reason. |
Nevermind -- those ARE .dylib format but under the name of .so. |
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.
The mechanics of the patch all look good; the only detail that is outstanding is the exact contents of Python.patch, which is dependent on finalizing freakboy3742/cpython#6.
OK the old commit had an issue... redid it |
.github/workflows/ci.yaml
Outdated
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.
visionOS stuff on Unable to initialize Python interpreter: failed to initialize importlib also happened on iOS.. Otherwise LGTM also
FYI: I've also been translating stuff for Simplified Chinese through Weblate, but I consider Discord a bad thing so I did not introduce myself in Discord; I hope that this is forgivable. I might make some occasional mistakes (md >>>>> rst, also why isn't bold and italics (bad practice for chinese to use italic I guess) working?) and do some useless stuff at first (such as rewording things minorly to sound just a bit more casual like described in the instructions), and I apologize in advance. I was born in Mainland China and lived there for 11 years, and spoke Mandarin and wrote in Simplified Chinese (often using pen(cil) and paper which is sort of strenuous, looking at it now). |
Also this is late but happy easter! |
@freakboy3742 Added logic for building on macOS first and using that as the build_python -- hopefully this fixes the iOS issue. We'll see. |
Makefile
Outdated
# In addition, a macOS build Python for the current architecture is | ||
# also generated here; those won't need fancy dependencies just to | ||
# build another Python. We need this because sometimes, the patches | ||
# are so dramatic that a Python of the same MAJOR.MINOR on our system | ||
# is no longer applicable. |
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.
Good idea, but we're already downloading a pre-compiled Python install; ideally we'd be using that version, rather than having to compile a full interpreter.
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.
Oh sorry for doing that again -- replying you in another thread.
But right now at least before Betas, this is not an ideally situation.
I've reverted the change you've made to make the macOS version a dependency. It's a good idea, but orthogonal to this PR, and the implementation that you provided needed some work. For now, it's easier to update the patch to use Python 3.14.0a7. I'm building dependency packages right now, as soon as those are done, I'll push an update to this branch (and likely merge) |
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.
And it looks like it all works! Thanks for your work on this - it's much appreciated!
However, not everything works. Two test cases were failing on my end. Is
this acceptable (for now)?
You're welcome regarding thanks for taking care of this! If visionOS gets
widely adopted this might be important.
…On Wed, Apr 23, 2025 at 2:19 AM Russell Keith-Magee < ***@***.***> wrote:
Merged #270 <#270>
into main.
—
Reply to this email directly, view it on GitHub
<#270 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/BRODAI6OIZZDWOQJM63H5H32245GZAVCNFSM6AAAAAB3EK3HG2VHI2DSMVQWIX3LMV45UABCJFZXG5LFIV3GK3TUJZXXI2LGNFRWC5DJN5XDWMJXGM3DKMJVG4ZTKMY>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
I'm not seeing any failures at my end - which tests are failing for you? |
Wait how are you reproducing my build? Are you running it from cpython repo per se or using PAS? |
I'm using the |
@freakboy3742 Oh, sorry, I did not fetch. Yep that should resolve matters, thank you! |
Hold on... I caught an error in the Makefile... will open new PR. |
Refs #269, fixes #207, cross-refs freakboy3742/cpython#6
Old PR but on a different branch than main.
Sorry for the main stuff.
PR Checklist: