GeezerVison is showing github.com — [3.14] GH-144679: When building with VS 2026 on Windows, use PlatformToolset v145 by default (GH-144680) by miss-islington · Pull Request #158188 · python/cpython
Conversation
miss-islington
commented
Sep 25, 2026
•
edited by bedevere-app
Bot
Loading
Uh oh!
There was an error while loading. Please reload this page.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
|
The Windows (arm) jobs in the CI recently started failing on 3.14, for example:
Using py -3.14 (found 3.14 with py.exe)
C:\a\cpython\cpython>"C:\Program Files\Microsoft Visual Studio\18\Enterprise\MSBuild\Current\Bin\msbuild.exe" "C:\a\cpython\cpython\PCbuild\pcbuild.proj" /t:Build /m /v:n /p:Configuration=Debug /p:Platform=arm64 /p:IncludeExternals=true /p:IncludeCTypes=true /p:IncludeSSL=true /p:IncludeTkinter=true /p:DisableGil=true /p:UseTestMarker= /p:GIT="C:\Program Files\Git\clangarm64\bin\git.exe" /p:UseJIT= /p:UseTIER2= /p:PyStats= /p:UseTailCallInterp= /p:DisableRemoteDebug=
MSBuild version 18.10.1-1.26427.6+3cd27c13e for .NET Framework
Build started 9/25/2026 11:22:22 AM.
1>Project "C:\a\cpython\cpython\PCbuild\pcbuild.proj" on node 1 (Build target(s)).
1>Project "C:\a\cpython\cpython\PCbuild\pcbuild.proj" (1) is building "C:\a\cpython\cpython\PCbuild\_freeze_module.vcxproj" (2) on node 1 (Build target(s)).
2>C:\Program Files\Microsoft Visual Studio\18\Enterprise\MSBuild\Microsoft\VC\v180\Microsoft.CppBuild.targets(473,5): error MSB8020: The build tools for Visual Studio 2022 (Platform Toolset = 'v143') cannot be found. To build using the v143 build tools, please install Visual Studio 2022 build tools. Alternatively, you may upgrade to the current Visual Studio tools by selecting the Project menu or right-click the solution, and then selecting "Retarget solution". [C:\a\cpython\cpython\PCbuild\_freeze_module.vcxproj]
2>Done Building Project "C:\a\cpython\cpython\PCbuild\_freeze_module.vcxproj" (Build target(s)) -- FAILED.
1>Done Building Project "C:\a\cpython\cpython\PCbuild\pcbuild.proj" (Build target(s)) -- FAILED.
Build FAILED.
"C:\a\cpython\cpython\PCbuild\pcbuild.proj" (Build target) (1) ->
"C:\a\cpython\cpython\PCbuild\_freeze_module.vcxproj" (Build target) (2) ->
(PrepareForBuild target) ->
C:\Program Files\Microsoft Visual Studio\18\Enterprise\MSBuild\Microsoft\VC\v180\Microsoft.CppBuild.targets(473,5): error MSB8020: The build tools for Visual Studio 2022 (Platform Toolset = 'v143') cannot be found. To build using the v143 build tools, please install Visual Studio 2022 build tools. Alternatively, you may upgrade to the current Visual Studio tools by selecting the Project menu or right-click the solution, and then selecting "Retarget solution". [C:\a\cpython\cpython\PCbuild\_freeze_module.vcxproj]
0 Warning(s)
1 Error(s)
The windows-11-arm runner is being migrated to the Visual Studio 2026 image (actions/runner-images#14602), which doesn't have the VS 2022 v143 build tools. On 3.14, PCbuild/python.props maps VS 2026 to v143, so the arm64 builds fail. This maps it to v145 instead, and the arm64 jobs pass with it. I'm not sure if this is correct here, however, as I'm not really familiar with the Windows build system (I'd like to unblock the CI, however).
CC @zooba @chris-eibl
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
|
Aargh, and I think it would require #150788 as well?
Also CC @zware here.
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
|
The VS 2026 runner got past the toolset selection but then failed compiling the UWP launcher on the experimental coroutine header. I cherry-picked the one-line fix from #150788 onto this backport branch; that fix is already on main and 3.15.
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This now matches the VS 2026 toolset and UWP fixes already used on main and 3.15.
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
|
Hm, @zooba's preference regarding backporting this was #144680 (comment)
Yes but the "observation period" includes a couple of releases of 3.15. We want actual feedback from users, not just CI stability.
Seems that windows-11-arm migration to VS2026 seems to force us to do that earlier?
At least for arm? That's what this backport would do for 3.14, because without switching 3.14 CI
|
runs-on: ${{ inputs.arch == 'arm64' && 'windows-11-arm' || 'windows-2022' }} |
to windows-2025 at least amd64 and x86 will stay on v143.
Aargh, and I think it would require #150788 as well?
Yupp, see error C2338: static assertion failed: 'error STL1011: The /await compiler option, for the regular and ft build.
@pablogsal already cherry-picked and this should fix it.
What strikes me even more: Windows MSI / installer for arm64 fails with
C:\a\cpython\cpython\Modules\_hacl\Hacl_Hash_SHA2.c(282): fatal error C1002: compiler is out of heap space in pass 2 [C:\a\cpython\cpython\PCbuild\pythoncore.vcxproj]
This rings a bell (#153668), but different file affected here ...
I don't know, yet, how this affects the official release builds (they are done with an azure image).
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
|
Another option might be to install the v143 build tools in CI.
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
chris-eibl
commented
Sep 25, 2026
•
edited
Loading
Uh oh!
There was an error while loading. Please reload this page.
|
Something like
- name: Install v143 ARM64
shell: pwsh
run: |
$vs = & "$env:ProgramFiles\Microsoft Visual Studio\Installer\vswhere.exe" -latest -products * -property installationPath
& "$env:ProgramFiles\Microsoft Visual Studio\Installer\setup.exe" modify --installPath "$vs" --add Microsoft.VisualStudio.Component.VC.14.44.17.14.ARM64 --quiet --norestart --wait
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Hm, @zooba's preference regarding backporting this was #144680 (comment)
Yes but the "observation period" includes a couple of releases of 3.15. We want actual feedback from users, not just CI stability.
We've had 8 pre-releases since then. Or does it mean only non-pre-releases?
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
|
Hm, the arm msi installer step is still red, yet auto-merge seems to have triggered?
|
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
|
build-windows-msi is on the allowed-failures list:
|
chris-eibl reacted with thumbs up emoji
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Assignees
No one assigned
Milestone
No milestone
Development
Successfully merging this pull request may close these issues.
Uh oh!
There was an error while loading. Please reload this page.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
|