3.14: Windows on Arm build fails since windows-11-arm migrated to windows-11-vs2026-arm
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 2/5
- Temps estimé
- 1-3 heures
- Accessibilité débutants
- 78/100
- Type d'issue
- Bug
- Clarté
- Clairement spécifiée
- Activité
- Active
- Stack technique
- github-actions, python
- Domaine
- build-system, ci-cd
Piste de recherche
Commencez par .github/workflows/reusable-windows.yml et examinez comment le job arm64 sélectionne MSBuild ; examinez ensuite build.bat et PCbuild/pcbuild.proj pour comprendre l’interaction entre PreferredToolArchitecture et PlatformToolset. Exécutez le build CI Windows Arm64 concerné et confirmez que _freeze_module se compile correctement avec la toolchain native.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
The Windows Arm64 jobs in the CI recently started failing on 3.14 (for example). Noted by @StanFromIreland in https://github.com/python/cpython/pull/158188#issuecomment-5837953982: the _freeze_module
https://github.com/python/cpython/blob/9def455ebd4017dfbfcf1377137bb949ff2e29c1/PCbuild/pcbuild.proj#L20-L21
can no longer be compiled for PreferredToolArchitecture=x86 and PlatformToolset=v143:
The build tools for Visual Studio 2022 (Platform Toolset = 'v143') cannot be found.
PreferredToolArchitecture=x86 is chosen, because we use the x86 version of msbuild in CI:
"C:\Program Files\Microsoft Visual Studio\18\Enterprise\MSBuild\Current\Bin\msbuild.exe"
which is chosen by build.bat if no MSBUILD environment variable is set and msbuild is not in the path. [^1]
Compiling the _freeze_module for arm64 on an arm64 host by just using the arm64 version of msbuild would solve this, by e.g. just adding
env:
MSBUILD: ${{ inputs.arch == 'arm64' && 'C:\Program Files\Microsoft Visual Studio\18\Enterprise\MSBuild\Current\Bin\arm64\msbuild.exe' || '' }}
to
https://github.com/python/cpython/blob/e16b12bb982bc916664850da1d0a78109b2145b8/.github/workflows/reusable-windows.yml#L38-L40
because then PreferredToolArchitecture=arm64 and also the arm64 version of the compiler is chosen.
I think running the _freeze_module natively on an arm64 host is anyway the better fit?
[^1]: noticed already in https://github.com/python/cpython/issues/153668#issuecomment-5304195008
- Langage dominant
- Python
- Étoiles
- 77.2k
- Forks
- 36k
- Merge moyen
- 1 j 11 h
- PR mergées (30 j)
- 576
Préparer son environnement
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de python/cpython
-
extension-modules topic-socket type-bug
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
python/cpython#158285 · 4 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
stdlib type-bug
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
Les mainteneurs répondent en général sous 1 jour
-
docs pending
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
python/cpython#157339 · 10 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
stdlib type-feature
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
python/cpython#155601 · 2 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
stdlib type-feature
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
python/cpython#153771 · 5 commentaires ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de python/cpython
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
spec-kitty/spec-kitty#5319 ·
Les mainteneurs répondent en général sous 1 jour
-
backend::vllm diffusion multimodal
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
openai/openai-agents-python#5229 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
Les mainteneurs répondent en général sous 1 jour