-
Notifications
You must be signed in to change notification settings - Fork 8
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
Unable to import module on M1 Mac #119
Comments
* Attempts to build wheels across more architectures Uses uvloop's configuration for inspiration/nearly direct copying. https://github.com/MagicStack/uvloop/blob/afb326897c26f01b864f65f016a7f3f80d9db8ad/.github/workflows/release.yml#L72-L87 Fixes #119 * Clarify wheel build step name This should make the step name more apparent when the matrix expands * Remove ${{runner.os}}, Actions doesn't seem to like it * Only build universal2 on macOS, except for 3.7 Co-authored-by: Jordan Webb <[email protected]> Co-authored-by: Jordan Webb <[email protected]>
Unfortunately, it looks like v0.1.2 didn't fix the problem: Updating:
Running my test runner again, unchanged since ☝️:
File inspection:
Looking at the build history, I'd expect to see something here affirming the compilation mode but I admit I don't know enough about Go compilation to understand if something in there is implying universal build versus compile platform architecture build. |
Oh hm, yeah that probably bears more thought; with the Go stuff I'm not sure if we can actually use universal2, or if we need to build separate arch wheels after all. Unfortunately I've started a new contract this week that's going to keep me pretty busy for a while; I'll try to loop back to it if I have time but it could be a bit. |
It seems from the cibuildwheel documentation that it may be necessary to set |
It seems from the cibuildwheel documentation that it may be necessary to set |
When I tried to run a very simple "run this Starlark file":
When I check the library file, I can see that it's compiled in x86_64 mode only:
If it was universal, I'd expect to see
Mach-O universal binary with 2 architectures
, as alluded by runningfile
on every shared object I've got installed in every Python version I've got installed:Any other
Mach-O 64-bit dynamically linked shared library x86_64
?No, just
starlark_go
.Only others I've got installed shipping universal are MarkupSafe and uvloop:
The universal wheel for version 0.1.1 was installed:
My test runner
I'm not sure is even correct because of the import error:
Versions:
Possible remedy
It looks like uvloop is using the ~same tool starlark-go is using to build, so maybe it can be adapted.
The text was updated successfully, but these errors were encountered: