3.14: Windows on Arm build fails since windows-11-arm migrated to windows-11-vs2026-arm
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 2/5
- Tempo estimado
- 1-3 horas
- Facilidade para iniciantes
- 78/100
- Tipo de issue
- Bug
- Clareza
- Claramente especificada
- Status de atividade
- Ativa
- Stack de tecnologia
- github-actions, python
- Domínio
- build-system, ci-cd
Direção de pesquisa
Comece por .github/workflows/reusable-windows.yml e inspecione como o job arm64 seleciona o MSBuild; em seguida, revise build.bat e PCbuild/pcbuild.proj para analisar a interação entre PreferredToolArchitecture e PlatformToolset. Execute o build de CI afetado do Windows Arm64 e confirme que _freeze_module é compilado com sucesso usando a toolchain nativa.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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
- Linguagem predominante
- Python
- Estrelas
- 77.2k
- Forks
- 36k
- Merge médio
- 1d 11h
- PRs com merge (30d)
- 576
Preparar o ambiente
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de python/cpython
-
extension-modules topic-socket type-bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
python/cpython#158285 · 4 comentários ·
Mantenedores costumam responder em até 1 dia
-
stdlib type-bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
Mantenedores costumam responder em até 1 dia
-
docs pending
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
python/cpython#157339 · 10 comentários ·
Mantenedores costumam responder em até 1 dia
-
stdlib type-feature
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
python/cpython#155601 · 2 comentários ·
Mantenedores costumam responder em até 1 dia
-
stdlib type-feature
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
python/cpython#153771 · 5 comentários ·
Mantenedores costumam responder em até 1 dia
Todas as issues de python/cpython
Issues semelhantes
-
ACK_WAITING HELP_WANTED UPDATE_CS
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
OWASP/CheatSheetSeries#2458 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 90/100
BasedHardware/omi#19711 ·
Mantenedores costumam responder em até 1 dia
-
Qwen3_5MoeModel no longer returns router_logits, breaking aux loss with output_router_logits=TrueAberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
huggingface/transformers#49172 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
vllm-project/vllm-metal#885 ·
Mantenedores costumam responder em até 1 dia