FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

[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 · GitHub

Repository navigation

[3.14] GH-144679: When building with VS 2026 on Windows, use PlatformToolset v145 by default (GH-144680) - #158188

Merged
pablogsal merged 2 commits into
python:3.14from
miss-islington:backport-c06f4f4-3.14
Sep 25, 2026
Merged

pablogsal merged 2 commits into
python:3.14from
miss-islington:backport-c06f4f4-3.14

Conversation

miss-islington commented Sep 25, 2026 •
edited by bedevere-app Bot
Loading

Copy link
Copy Markdown
Contributor

…oolset v145 by default (pythonGH-144680)

(cherry picked from commit c06f4f4)

Co-authored-by: Chris Eibl <138194463+chris-eibl@users.noreply.github.com>

Copy link
Copy Markdown
Member

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

Copy link
Copy Markdown
Member

Aargh, and I think it would require #150788 as well?

Also CC @zware here.

Co-authored-by: Zachary Ware <zach@python.org>
(cherry picked from commit 7241db1)

Copy link
Copy Markdown
Member

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.

pablogsal left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low Quality

This now matches the VS 2026 toolset and UWP fixes already used on main and 3.15.

pablogsal enabled auto-merge (squash) September 25, 2026 19:33

Copy link
Copy Markdown
Member

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).

Copy link
Copy Markdown
Member

Another option might be to install the v143 build tools in CI.

chris-eibl commented Sep 25, 2026 •
edited
Loading

Copy link
Copy Markdown
Member

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

pablogsal merged commit 2649b37 into python:3.14 Sep 25, 2026
54 of 55 checks passed
miss-islington deleted the backport-c06f4f4-3.14 branch September 25, 2026 20:10

hugovk commented Sep 25, 2026

Copy link
Copy Markdown
Member

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?

Copy link
Copy Markdown
Member

Hm, the arm msi installer step is still red, yet auto-merge seems to have triggered?

hugovk commented Sep 25, 2026

Copy link
Copy Markdown
Member

build-windows-msi is on the allowed-failures list:

build-windows-msi,

This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants


Back | FazBrowse Home | New Git URL