-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
[BUG] 74.0.0 broke x64 to ARM64 cross-compilation for pywin32 #4648
Comments
In distutils repo, this links to this PR commit: pypa/distutils@ |
Commented: pypa/distutils#285 (comment) |
The issue has been merged into distutils, but there's a bunch of stuff on main that's backward-incompatible, so I'm going to apply a selective bugfix first before merging the rest of distutils. |
Oh, geez. I see there's another removal there. I'll want to cherry-pick this change to 74.1.2. |
…piler`. Actually use the `plat_name` param in `MSVCCompiler.initialize`. Selective cherry-pick of pypa/distutils@a0339c1. Closes #4648.
Releasing as v74.1.3. Thanks! |
setuptools version
setuptools>=74.0.0
Python version
Any (tested 3.10 to 3.13)
OS
Windows 10
Additional environment information
pywin32 is cross-compiling ARM64 builds from x64 machines because GitHub actions environments don't offer Windows-on-ARM machines on the public free tier.
Description
pywin32's ARM64 builds start failing as of setuptools==74.0.0 with the following error:
Here's the full log from a GitHub action: https://github.com/mhammond/pywin32/actions/runs/10853733760/job/30122635996?pr=2370
Expected behavior
A working build as before, or guidance to update the
setup.py
file.I see a lot of related change in https://setuptools.pypa.io/en/latest/history.html#v74-0-0 but if this is intentional breakage, the migration path is not immediately clear to me.
How to Reproduce
I can try to provide a minimal reproduction if needed, but pywin32's
setup.py
is quite complex, there's still parts I don't fully understand, and it's still using some deprecated distutils API (some of which I'm working on upgrading as per #4070, mhammond/pywin32#2119 and mhammond/pywin32#2208)Note that the following steps should be run on an x86 Windows machine on a version of Python listed here: https://www.nuget.org/packages/pythonarm64#versions-body-tab
MSVC v142 - VS 2019 C++ ARM64 build tools
C++ MFC for latest v142 build tools (ARM64)
C++ ATL for latest v142 build tools (ARM64)
MSVC v143 - VS 2022 C++ ARM64/ARM64EC build tools (Latest)
C++ MFC for latest v143 build tools (ARM64/ARM64EC)
C++ ATL for latest v143 build tools (ARM64/ARM64EC)
python setup.py -q build_ext --plat-name win-arm64 build --plat-name win-arm64 bdist_wheel --plat-name win-arm64
Output
This is my local log using Python3.11 and setuptools==74
This is my local log using Python3.11 and setuptools==73.0.1 (different error, which is expected since I'm missing some externals on my machine)
The text was updated successfully, but these errors were encountered: