-
Notifications
You must be signed in to change notification settings - Fork 234
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
[Windows ARM] sys_tags
produces win_amd64
#1942
Comments
It looks like you are using custom code for building binary |
The compilation itself is done using
The last step fails because of linking errors, and which I believe is because Are you able to elaborate a little on what this 'cross compilation setup' is? How is the compiler meant to know to cross-compile? Is it done purely through environment variables being set? Or are there any flags I should look for? |
based on https://cibuildwheel.pypa.io/en/stable/faq/#windows-arm64 and cibuildwheel/cibuildwheel/windows.py Line 163 in 5af5df4
it depends on VSCMD_ARG_TGT_ARCH environment variable, but you need to check setuptools code to validate how to translate it into compiler options.
|
Thanks for pointing that out. From inspecting that file, it looks like cibuildwheel configures various backends automatically. I will raise the question over with Hatch as well to raise awareness. Having said that, my code ultimately relies on the logic within the |
That's not in a release yet, correct? It will be in the next one (soon). |
Right. But this is just for setuptools.
Packaging (see here) uses So packaging sys_tags isn't going to give you the answer you're after. (Indeed, the function's docstring states- "Returns the sequence of tag triples for the running interpreter.", which isn't what you're after either). I'd recommend looking for an environment variable in your script (you can set one in your pyproject.toml via an override, or wait for VSCMD_ARG_TGT_ARCH), and falling back to |
Description
Summary
I have recently wanted to enable support for Windows ARM wheels being generated, but for some reason, AMD64 (i.e.
x86_64
) is consistently being detected.Background
I am trying to build wheels which include a binary extension. The binary extension effectively wraps around a pre-compiled binary, and the build script uses
packaging
'ssys_tags
function in order to determine the target platform and therefore the appropriate library to download.The high level logs are:
The build script is clearly detecting the AMD64 platform. To help debug, I have added:
which produces the following:
Note that I am using
hatch
to build the wheel, though I don't understand why/how this might be the issue.I am asking first here in case there's something obviously wrong with my use of CIBuildWheel, and if not, I will pose this question over with Hatch too.
Build log
https://github.com/pact-foundation/pact-python/actions/runs/10033168088/job/27725905437?pr=737
CI config
https://github.com/pact-foundation/pact-python/blob/debug/win-arm-build2/.github/workflows/build.yml
The text was updated successfully, but these errors were encountered: