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

windows-x86 release MSBuild_CMake is failing #88172

Closed
kunalspathak opened this issue Jun 29, 2023 · 18 comments · Fixed by #88208
Closed

windows-x86 release MSBuild_CMake is failing #88172

kunalspathak opened this issue Jun 29, 2023 · 18 comments · Fixed by #88208
Labels
area-Infrastructure-coreclr Known Build Error Use this to report build issues in the .NET Helix tab
Milestone

Comments

@kunalspathak
Copy link
Member

kunalspathak commented Jun 29, 2023

Build Information

Build: https://dev.azure.com/dnceng-public/cbb18261-c48f-4abb-8651-8cdcb5474649/_build/results?buildId=324484
Build error leg or test failing: Build / windows-x86 release MSBuild_CMake / Build product
Pull request: #88151

Error Message

Fill the error message using step by step known issues guidance.

{
  "ErrorMessage": "MSBuild_CMake",
  "ErrorPattern": "",
  "BuildRetry": false,
  "ExcludeConsoleLog": false
}

Known issue validation

Build: 🔎 https://dev.azure.com/dnceng-public/public/_build/results?buildId=324484
Error message validated: MSBuild_CMake
Result validation: ✅ Known issue matched with the provided build.
Validation performed at: 6/29/2023 3:44:45 PM UTC

Report

Build Definition Step Name Console log Pull Request
325363 dotnet/runtime windows-x86 release MSBuild_CMake Log #88006
325640 dotnet/runtime windows-x86 release MSBuild_CMake Log #87082
325637 dotnet/runtime windows-x86 release MSBuild_CMake Log #88160
325627 dotnet/runtime windows-x86 release MSBuild_CMake Log #88163
325624 dotnet/runtime windows-x86 release MSBuild_CMake Log #85727
325617 dotnet/runtime windows-x86 release MSBuild_CMake Log #88219
325604 dotnet/runtime windows-x86 release MSBuild_CMake Log #88166
325599 dotnet/runtime windows-x86 release MSBuild_CMake Log #88213
325577 dotnet/runtime windows-x86 release MSBuild_CMake Log #87583
325570 dotnet/runtime windows-x86 release MSBuild_CMake Log #88136
325561 dotnet/runtime windows-x86 release MSBuild_CMake Log #87656
325558 dotnet/runtime windows-x86 release MSBuild_CMake Log #87335
325546 dotnet/runtime windows-x86 release MSBuild_CMake Log #88214
325530 dotnet/runtime windows-x86 release MSBuild_CMake Log #88182
325527 dotnet/runtime windows-x86 release MSBuild_CMake Log #88212
325493 dotnet/runtime windows-x86 release MSBuild_CMake Log #88211
325490 dotnet/runtime windows-x86 release MSBuild_CMake Log #88210
325415 dotnet/runtime windows-x86 release MSBuild_CMake Log #88067
325409 dotnet/runtime windows-x86 release MSBuild_CMake Log #88151
325484 dotnet/runtime windows-x86 release MSBuild_CMake Log #86850
325481 dotnet/runtime windows-x86 release MSBuild_CMake Log #87438
325469 dotnet/runtime windows-x86 release MSBuild_CMake Log #88034
325470 dotnet/runtime windows-x86 release MSBuild_CMake Log #87890
325459 dotnet/runtime windows-x86 release MSBuild_CMake Log #88209
325456 dotnet/runtime windows-x86 release MSBuild_CMake Log #87857
325445 dotnet/runtime windows-x86 release MSBuild_CMake Log #88194
325435 dotnet/runtime windows-x86 release MSBuild_CMake Log #87335
325402 dotnet/runtime windows-x86 release MSBuild_CMake Log #87183
325355 dotnet/runtime windows-x86 release MSBuild_CMake Log #88006
325354 dotnet/runtime windows-x86 release MSBuild_CMake Log #88006
325343 dotnet/runtime windows-x86 release MSBuild_CMake Log #87260
325342 dotnet/runtime windows-x86 release MSBuild_CMake Log #87260
325334 dotnet/runtime windows-x86 release MSBuild_CMake Log #88034
325330 dotnet/runtime windows-x86 release MSBuild_CMake Log #88139
325319 dotnet/runtime windows-x86 release MSBuild_CMake Log #87946
325316 dotnet/runtime windows-x86 release MSBuild_CMake Log #87335
325305 dotnet/runtime windows-x86 release MSBuild_CMake Log #88200
325252 dotnet/runtime windows-x86 release MSBuild_CMake Log #88194
324966 dotnet/runtime windows-x86 release MSBuild_CMake Log #88182
325241 dotnet/runtime windows-x86 release MSBuild_CMake Log #88151
325231 dotnet/runtime windows-x86 release MSBuild_CMake Log #88191
325203 dotnet/runtime windows-x86 release MSBuild_CMake Log #88025
325172 dotnet/runtime windows-x86 release MSBuild_CMake Log #88187
325139 dotnet/runtime windows-x86 release MSBuild_CMake Log #88188
324595 dotnet/runtime windows-x86 release MSBuild_CMake Log #88082
325075 dotnet/runtime windows-x86 release MSBuild_CMake Log #88132
325040 dotnet/runtime windows-x86 release MSBuild_CMake Log #88151
324953 dotnet/runtime windows-x86 release MSBuild_CMake Log #88184
324923 dotnet/runtime windows-x86 release MSBuild_CMake Log #88183
324296 dotnet/runtime windows-x86 release MSBuild_CMake Log #88157
324874 dotnet/runtime windows-x86 release MSBuild_CMake Log #88093
324860 dotnet/runtime windows-x86 release MSBuild_CMake Log #87590
324849 dotnet/runtime windows-x86 release MSBuild_CMake Log #88179
324241 dotnet/runtime windows-x86 release MSBuild_CMake Log #84229
324842 dotnet/runtime windows-x86 release MSBuild_CMake Log #88034
324830 dotnet/runtime windows-x86 release MSBuild_CMake Log #87082
324826 dotnet/runtime windows-x86 release MSBuild_CMake Log #87865
324793 dotnet/runtime windows-x86 release MSBuild_CMake Log #87590
324787 dotnet/runtime windows-x86 release MSBuild_CMake Log #87865
324614 dotnet/runtime windows-x86 release MSBuild_CMake Log #88173
324755 dotnet/runtime windows-x86 release MSBuild_CMake Log #87656
324745 dotnet/runtime windows-x86 release MSBuild_CMake Log #88113
324740 dotnet/runtime windows-x86 release MSBuild_CMake Log #88176
324734 dotnet/runtime windows-x86 release MSBuild_CMake Log #88175
324723 dotnet/runtime windows-x86 release MSBuild_CMake Log #88151
324681 dotnet/runtime windows-x86 release MSBuild_CMake Log #87865
324670 dotnet/runtime windows-x86 release MSBuild_CMake Log #88165
324656 dotnet/runtime windows-x86 release MSBuild_CMake Log #88174
324649 dotnet/runtime windows-x86 release MSBuild_CMake Log #88159
324640 dotnet/runtime windows-x86 release MSBuild_CMake Log #88163
324582 dotnet/runtime Build product Log #88171
324551 dotnet/runtime Build product Log #87946
324540 dotnet/runtime Build product Log #87082
324519 dotnet/runtime Build product Log #88159
324484 dotnet/runtime Build product Log #88151
324477 dotnet/runtime Build product Log #88169
324472 dotnet/runtime Build product Log #88025
324465 dotnet/runtime Build product Log #88163
324448 dotnet/runtime Build product Log #88166
324432 dotnet/runtime windows-x86 release MSBuild_CMake Log #87583
324132 dotnet/runtime Build product Log #88144
324416 dotnet/runtime Build product Log #87374
324428 dotnet/runtime windows-x86 release MSBuild_CMake Log #88165
324409 dotnet/runtime Build product Log #88034
324352 dotnet/runtime Build product Log #88160
324317 dotnet/runtime Build product Log #88159
324201 dotnet/runtime Build product Log #88107
324264 dotnet/runtime Build product Log #88151
324248 dotnet/runtime Build product Log #87919
324209 dotnet/runtime Build product Log #87946
324178 dotnet/runtime windows-x86 release MSBuild_CMake Log #87583
324126 dotnet/runtime Build product Log #88155
324104 dotnet/runtime windows-x86 release MSBuild_CMake Log #88154
324098 dotnet/runtime Build product Log #88149
324085 dotnet/runtime Build product Log #88060

Summary

24-Hour Hit Count 7-Day Hit Count 1-Month Count
73 95 95
@kunalspathak kunalspathak added blocking-clean-ci Blocking PR or rolling runs of 'runtime' or 'runtime-extra-platforms' Known Build Error Use this to report build issues in the .NET Helix tab labels Jun 29, 2023
@ghost ghost added the untriaged New issue has not been triaged by the area owner label Jun 29, 2023
@ghost
Copy link

ghost commented Jun 29, 2023

Tagging subscribers to this area: @dotnet/area-infrastructure-libraries
See info in area-owners.md if you want to be subscribed.

Issue Details

Build Information

Build: https://dev.azure.com/dnceng-public/cbb18261-c48f-4abb-8651-8cdcb5474649/_build/results?buildId=324484
Build error leg or test failing: Build / windows-x86 release MSBuild_CMake / Build product
Pull request: #88151

Error Message

Fill the error message using step by step known issues guidance.

{
  "ErrorMessage": "Failed to generate native component build project",
  "ErrorPattern": "Failed to generate native component build project",
  "BuildRetry": false,
  "ExcludeConsoleLog": false
}
Author: kunalspathak
Assignees: -
Labels:

area-Infrastructure-libraries, blocking-clean-ci, untriaged, Known Build Error

Milestone: -

@hoyosjs
Copy link
Member

hoyosjs commented Jun 29, 2023

This already affected 18 PRs - the actual interesting part of the error seems to be:

D:\a_work\1\s.dotnet\sdk\8.0.100-preview.5.23303.2\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.TargetFrameworkInference.targets(96,5): error NETSDK1013: The TargetFramework value '' was not recognized. It may be misspelled. If not, then the TargetFrameworkIdentifier and/or TargetFrameworkVersion properties must be specified explicitly. [D:\a_work\1\s\artifacts\obj\win-x86.Release\corehost\ide\test\ijw\ijw.vcxproj]
Building Custom Rule D:/a/_work/1/s/src/native/corehost/ijwhost/CMakeLists.txt
Assembling D:\a_work\1\s\src\native\corehost\ijwhost\i386\asmhelpers.asm...

The only interesting thing I see is 17.5.5 -> 17.6 VS move. This might entail a bump in the CMake version since there was no arcade upgrade.

@hoyosjs
Copy link
Member

hoyosjs commented Jun 29, 2023

This is the same as #88116

@ghost
Copy link

ghost commented Jun 29, 2023

Tagging subscribers to this area: @hoyosjs
See info in area-owners.md if you want to be subscribed.

Issue Details

Build Information

Build: https://dev.azure.com/dnceng-public/cbb18261-c48f-4abb-8651-8cdcb5474649/_build/results?buildId=324484
Build error leg or test failing: Build / windows-x86 release MSBuild_CMake / Build product
Pull request: #88151

Error Message

Fill the error message using step by step known issues guidance.

{
  "ErrorMessage": "",
  "ErrorPattern": " The TargetFramework value '' was not recognized .*ijw\\.vcxproj]",
  "BuildRetry": false,
  "ExcludeConsoleLog": false
}

Known issue validation

Build: 🔎 https://dev.azure.com/dnceng-public/public/_build/results?buildId=324484
Error message validated: The TargetFramework value '' was not recognized .*ijw\.vcxproj]
Result validation: ❌ Known issue did not match with the provided build.
Validation performed at: 6/29/2023 2:21:07 AM UTC

Report

Build Definition Step Name Console log Pull Request
324582 dotnet/runtime Build product Log #88171
324551 dotnet/runtime Build product Log #87946
324519 dotnet/runtime Build product Log #88159
324484 dotnet/runtime Build product Log #88151
324477 dotnet/runtime Build product Log #88169
324472 dotnet/runtime Build product Log #88025
324465 dotnet/runtime Build product Log #88163
324448 dotnet/runtime Build product Log #88166
324132 dotnet/runtime Build product Log #88144
324416 dotnet/runtime Build product Log #87374
324409 dotnet/runtime Build product Log #88034
324352 dotnet/runtime Build product Log #88160
324317 dotnet/runtime Build product Log #88159
324201 dotnet/runtime Build product Log #88107
324296 dotnet/runtime Build product Log #88157
324264 dotnet/runtime Build product Log #88151
324248 dotnet/runtime Build product Log #87919
324241 dotnet/runtime Build product Log #84229
324209 dotnet/runtime Build product Log #87946
324126 dotnet/runtime Build product Log #88155
324098 dotnet/runtime Build product Log #88149
324085 dotnet/runtime Build product Log #88060

Summary

24-Hour Hit Count 7-Day Hit Count 1-Month Count
22 22 22
Author: kunalspathak
Assignees: -
Labels:

area-Infrastructure-coreclr, blocking-clean-ci, Known Build Error

Milestone: -

@hoyosjs
Copy link
Member

hoyosjs commented Jun 29, 2023

cc @jkoritzinsky in case you are aware. The 17.6 cmake is 3.22.6

@jkoritzinsky
Copy link
Member

I guess the C++/CLI support in MSBuild might have had a change that broke the build? I'll take a look.

@jkoritzinsky
Copy link
Member

I can't repro this locally, so this might be an issue only with 17.6...

@jkoritzinsky
Copy link
Member

It looks like the issue is with CMake 3.26. CMake 3.26 added support for /clr:netcore through their SDK support, so now the generated MSBuild project is using the MSVC SDK support for the .NET Core C++/CLI support. I'll see if I can get things working with that.

I wasn't reproing it locally as I only have CMake 3.24 on my local machine.

jkoritzinsky added a commit to jkoritzinsky/runtime that referenced this issue Jun 29, 2023
@ghost ghost added the in-pr There is an active PR which will close this issue when it is merged label Jun 29, 2023
@hoyosjs
Copy link
Member

hoyosjs commented Jun 29, 2023

@dotnet/dnceng qq - In helix.dot.net I see windows-cmake 3.22.6, but if I create a VM in repro vms I only see 3.26.0-msvc3. Does the table get generated per deployment? And does it track all assets - even if MSI installed by VS? I was checking the BI report and couldn't find the assets, but I don't know if I just missed it.

@dougbu
Copy link
Member

dougbu commented Jun 29, 2023

@hoyosjs we install cmake using https://cmake.org/files/v3.22/cmake-3.22.6-windows-x86_64.zip. that should be available in "$($env:SystemDrive)\arcade-tools\cmake-3.22.6` and will be early in $env:Path if you set $env:NativeToolsOnMachine = $true and have the following in global.json:

  "native-tools": {
    "cmake": "3.22.6"
  }

or (much better because you won't need to change anything if the minor version changes):

  "native-tools": {
    "cmake": "latest"
  }

note $env:NativeToolsOnMachine must be set before calling InitializeNativeTools. That's called relatively early in the eng/common/build.* build scripts whenever -Restore or (also supported w/ build.sh) --restore appears on the command line.

see https://github.com/dotnet/arcade/blob/main/Documentation/NativeToolsOnMachine.md for more information


it's likely installing VS w/ the Microsoft.VisualStudio.Workload.NativeDesktop workload adds another cmake version to the machines. we include that workload based on partner requests but have no influence on tool versions they bring in. as described above, you can ignore that version

@jkotas
Copy link
Member

jkotas commented Jun 29, 2023

@dougbu It would be better to depend on cmake that comes with VS and stop installing the one from cmake.org site.

@dougbu
Copy link
Member

dougbu commented Jun 29, 2023

@jkotas I recall numerous conversations in the CI Council in which @agocke asked us (not that I was on this team then 😀) to keep tools, especially cmake IIRC, as consistent as possible. your request goes against that request. has something changed❔

@jkotas
Copy link
Member

jkotas commented Jun 29, 2023

I was not part of those discussions. Here are the reasons why I think it makes sense to use cmake that comes with VS on Windows:

  • The repo build instructions recommend cmake that comes with VS on Windows.
  • The cmake that comes with VS is consistent with the VS and it is kept up to date.
  • This issue demonstrated that we are actually using cmake that comes with VS on build machines, and we have been probably doing that for years without issues.
  • cmake that comes with VS is better for secure supply chain. It is a good idea to minimize dependencies we have on various 3rd party websites for downloading tools that we use for product construction.

@ghost ghost removed the in-pr There is an active PR which will close this issue when it is merged label Jun 29, 2023
@jkoritzinsky
Copy link
Member

Reopening and updating labels to continue the discussion about the cmake tool itself.

@jkoritzinsky jkoritzinsky reopened this Jun 29, 2023
@jkoritzinsky jkoritzinsky removed the blocking-clean-ci Blocking PR or rolling runs of 'runtime' or 'runtime-extra-platforms' label Jun 29, 2023
@dougbu
Copy link
Member

dougbu commented Jun 29, 2023

please open an issue in dotnet/dnceng if your team (a core cmake user) wish us to remove the standalone cmake installation. the current situation shouldn't have any impact on your builds since you're not using the native tools from the machine. but, removing it could cause pain if other arcade consumers rely on that for cmake

@dougbu
Copy link
Member

dougbu commented Jun 29, 2023

/btw I'm seeing a lot of hits for MSBuild_CMake in logs just because that's the name of a job or build step in the pipeline. @AlitzelMendez however supposedly-matching logs like https://dev.azure.com/dnceng-public/cbb18261-c48f-4abb-8651-8cdcb5474649/_apis/build/builds/324085/logs/66 don't contain the string. What gives❔

@jkotas
Copy link
Member

jkotas commented Jun 30, 2023

however supposedly-matching logs like https://dev.azure.com/dnceng-public/cbb18261-c48f-4abb-8651-8cdcb5474649/_apis/build/builds/324085/logs/66 don't contain the string. What gives❔

The matching string was changed multiple times by different people. This log was matched using older matching string.

@jkotas
Copy link
Member

jkotas commented Jun 30, 2023

please open an issue in dotnet/dnceng if your team (a core cmake user) wish us to remove the standalone cmake installation

Done: dotnet/dnceng#322

@jkotas jkotas closed this as completed Jun 30, 2023
@ghost ghost locked as resolved and limited conversation to collaborators Jul 30, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-Infrastructure-coreclr Known Build Error Use this to report build issues in the .NET Helix tab
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants