Skip to content

windows-2025: CMake + Ninja + MinGW GCC compilation fails #13191

@kschwan

Description

@kschwan

Description

Some time after Oct. 15th our build/test pipelines have broken on windows-2025. I tried changing to windows-2022 and that works.

We use CMake with Ninja and GCC.

Running locally with CMake 4.1.1, Ninja 1.13.1 and GCC 14.3 / MinGW 13.0 also works.

Platforms affected

  • Azure DevOps
  • GitHub Actions - Standard Runners
  • GitHub Actions - Larger Runners

Runner images affected

  • Ubuntu 22.04
  • Ubuntu 24.04
  • macOS 13
  • macOS 13 Arm64
  • macOS 14
  • macOS 14 Arm64
  • macOS 15
  • macOS 15 Arm64
  • macOS 26 Arm64
  • Windows Server 2019
  • Windows Server 2022
  • Windows Server 2025

Image version and build link

20251014.59.1

Is it regression?

Yes, 20250929.44.1 was working

Expected behavior

Starting: Build
==============================================================================
Task         : Command line
Description  : Run a command line script using Bash on Linux and macOS and cmd.exe on Windows
Version      : 2.250.1
Author       : Microsoft Corporation
Help         : https://docs.microsoft.com/azure/devops/pipelines/tasks/utility/command-line
==============================================================================
Generating script.
========================== Starting Command Output ===========================
"C:\Windows\system32\cmd.exe" /D /E:ON /V:OFF /S /C "CALL "D:\a\_temp\82102a18-512d-4f2b-ba03-1fb970ea5672.cmd""
Preset CMake variables:

  CMAKE_BUILD_TYPE="Release"
  CMAKE_CXX_FLAGS_INIT="-Wall -Wextra"
  CMAKE_CXX_STANDARD="23"
  CMAKE_EXPORT_COMPILE_COMMANDS="ON"

-- The C compiler identification is GNU 14.2.0
-- The CXX compiler identification is GNU 14.2.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/mingw64/bin/cc.exe - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: C:/mingw64/bin/c++.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- The ASM compiler identification is GNU
-- Found assembler: C:/mingw64/bin/cc.exe
-- lvglpp/test/lv_conf.h
-- Using configuration: lvglpp/test/lv_conf.h
-- Converted to absolute path: D:/a/1/s/lvglpp/test/lv_conf.h
-- Enabling the building of ThorVG internal
-- Configuring done (20.8s)
-- Generating done (0.3s)
-- Build files have been written to: D:/a/1/s/build/release

<build objects...>

Actual behavior

Starting: Build
==============================================================================
Task         : Command line
Description  : Run a command line script using Bash on Linux and macOS and cmd.exe on Windows
Version      : 2.250.1
Author       : Microsoft Corporation
Help         : https://docs.microsoft.com/azure/devops/pipelines/tasks/utility/command-line
==============================================================================
Generating script.
========================== Starting Command Output ===========================
"C:\Windows\system32\cmd.exe" /D /E:ON /V:OFF /S /C "CALL "D:\a\_temp\2ad68b70-69c8-40db-a938-96097390a2a3.cmd""
Preset CMake variables:

  CMAKE_BUILD_TYPE="Release"
  CMAKE_CXX_FLAGS_INIT="-Wall -Wextra"
  CMAKE_CXX_STANDARD="23"
  CMAKE_EXPORT_COMPILE_COMMANDS="ON"

-- The C compiler identification is unknown
-- The CXX compiler identification is unknown
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - failed
-- Check for working C compiler: C:/mingw64/bin/cc.exe
-- Check for working C compiler: C:/mingw64/bin/cc.exe - broken
CMake Error at C:/Program Files/CMake/share/cmake-3.31/Modules/CMakeTestCCompiler.cmake:67 (message):
  The C compiler

    "C:/mingw64/bin/cc.exe"

  is not able to compile a simple test program.

  It fails with the following output:

    Change Dir: 'D:/a/1/s/build/release/CMakeFiles/CMakeScratch/TryCompile-gk447q'
    
    Run Build Command(s): C:/ProgramData/chocolatey/bin/ninja.exe -v cmTC_37e4f
    [1/2] C:\mingw64\bin\cc.exe    -o CMakeFiles\cmTC_37e4f.dir\testCCompiler.c.obj -c D:\a\1\s\build\release\CMakeFiles\CMakeScratch\TryCompile-gk447q\testCCompiler.c
    FAILED: [code=1] CMakeFiles/cmTC_37e4f.dir/testCCompiler.c.obj 
    C:\mingw64\bin\cc.exe    -o CMakeFiles\cmTC_37e4f.dir\testCCompiler.c.obj -c D:\a\1\s\build\release\CMakeFiles\CMakeScratch\TryCompile-gk447q\testCCompiler.c
    ninja: build stopped: subcommand failed.
    
    

  

  CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
  CMakeLists.txt:2 (project)


-- Configuring incomplete, errors occurred!
ninja: error: loading 'build.ninja': The system cannot find the file specified.

Repro steps

Sorry, this is private company repos in Azure DevOps.
If necessary I'll provide a separate minimal example.

The CMake build scripts are fairly simple. The CI pipeline is as follows:

trigger:
  - develop

pool:
  vmImage: 'windows-2025'

steps:
  - checkout: self
    submodules: true
    persistCredentials : true
  - script: |
      cmake --preset release
      cmake --build --preset release
    env:
      HTTP_AUTH_BEARER_TOKEN: $(System.AccessToken)
    displayName: 'Build'
  - script: |
      ctest --preset release
    displayName: 'Test'

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions