Skip to content
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

GitHub Actions workflow cannot build arm32 after updating Windows SDK min version #1452

Closed
dmachaj opened this issue Nov 16, 2024 · 1 comment · Fixed by #1454
Closed

GitHub Actions workflow cannot build arm32 after updating Windows SDK min version #1452

dmachaj opened this issue Nov 16, 2024 · 1 comment · Fixed by #1454
Assignees

Comments

@dmachaj
Copy link
Contributor

dmachaj commented Nov 16, 2024

Version

No response

Summary

Here's a CI build where it is failing: https://github.com/microsoft/cppwinrt/actions/runs/11865784595/job/33073424298

It seems that I broke it earlier today when I upgraded the SDK version to something newer: #1451. I'm not sure why that built just fine. It should have broken the same way.

D:\a\cppwinrt\cppwinrt>call msbuild /m /p:Configuration=Release,Platform=arm,CppWinRTBuildVersion=3.0.0.0 cppwinrt.sln /t:fast_fwd 
MSBuild version 17.12.6+db5f6012c for .NET Framework
Build started 11/16/2024 2:49:51 AM.

     1>Project "D:\a\cppwinrt\cppwinrt\cppwinrt.sln" on node 1 (fast_fwd target(s)).
     1>ValidateSolutionConfiguration:
         Building solution configuration "Release|arm".
     1>Project "D:\a\cppwinrt\cppwinrt\cppwinrt.sln" (1) is building "D:\a\cppwinrt\cppwinrt\fast_fwd\fast_fwd.vcxproj" (2) on node 1 (default targets).
     2>C:\Program Files\Microsoft Visual Studio\2022\Enterprise\MSBuild\Microsoft\VC\v170\Microsoft.Cpp.WindowsSDK.targets(49,5): error MSB8037: The Windows SDK version 10.0.26100.0 for Desktop C++ ARM Apps was not found. Install the required version of Windows SDK or change the SDK version in the project property pages or by right-clicking the solution and selecting "Retarget solution".  [D:\a\cppwinrt\cppwinrt\fast_fwd\fast_fwd.vcxproj]
     2>Done Building Project "D:\a\cppwinrt\cppwinrt\fast_fwd\fast_fwd.vcxproj" (default targets) -- FAILED.
     1>Done Building Project "D:\a\cppwinrt\cppwinrt\cppwinrt.sln" (fast_fwd target(s)) -- FAILED.

The build then exits with a failure at the end because this file is not found:

D:\a\cppwinrt\cppwinrt>nuget pack nuget\Microsoft.Windows.CppWinRT.nuspec -Properties target_version=3.0.0.0;cppwinrt_exe=D:\a\cppwinrt\cppwinrt\_build\x86\Release\cppwinrt.exe;cppwinrt_fast_fwd_x86=D:\a\cppwinrt\cppwinrt\_build\x86\Release\cppwinrt_fast_forwarder.lib;cppwinrt_fast_fwd_x64=D:\a\cppwinrt\cppwinrt\_build\x64\Release\cppwinrt_fast_forwarder.lib;cppwinrt_fast_fwd_arm=D:\a\cppwinrt\cppwinrt\_build\arm\Release\cppwinrt_fast_forwarder.lib;cppwinrt_fast_fwd_arm64=D:\a\cppwinrt\cppwinrt\_build\arm64\Release\cppwinrt_fast_forwarder.lib  
Attempting to build package from 'Microsoft.Windows.CppWinRT.nuspec'.
Could not find a part of the path 'D:\a\cppwinrt\cppwinrt\_build\arm\Release'.
Error: Output nuget package not found!
Error: Process completed with exit code 1.

The first question is whether there is any reason to maintain a native arm32 build of cppwinrt. Windows does not support arm32 at all on Win11 24H2. Previous Win11 versions only supported arm32 as WOW (not as a native architecture).

If we are ok with removing arm32 support then that is the easiest and most direct fix. Otherwise I either need to adjust the SDK version or I need to generate a zero-byte stub file just to make the .nuspec happy. I would prefer simply removing native arm32 support.

Reproducible example

Expected behavior

No response

Actual behavior

No response

Additional comments

No response

@dmachaj dmachaj self-assigned this Nov 16, 2024
@DefaultRyan
Copy link
Member

I think this might just be a timing coincidence, but I'm not 100% sure. The passing run used version 20241021.1.0 of the windows-2022 image (https://github.com/microsoft/cppwinrt/actions/runs/11865122343/job/33069748792?pr=1451#step:1:9)

But when the failing run hit, the windows-2022 image had been updated to 20241113.3.0 (https://github.com/microsoft/cppwinrt/actions/runs/11865784595/job/33073424298#step:1:9)

A bunch of minor updates happened, including updating from VC 17.11 to 17.12 and adding Microsoft.VisualStudio.Component.Windows11SDK.26100 which was missing from the older image. I guess the latest build used that version, which caused it to fail.

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 a pull request may close this issue.

2 participants