Fails to build with Clang on Windows with ninja 1.12
meson compile
(reliably) fails with:
C:/msys64/home/user/M/mingw-w64-glib2/src/build-CLANG64-static/gio/glib-compile-resources.exe --compiler=clang --target=gio/tests/test.gresource --sourcedir=C:/msys64/home/user/M/mingw-w64-glib2/src/glib-2.80.2/gio/tests --sourcedir=C:/msys64/home/user/M/mingw-w64-glib2/src/build-CLANG64-static/gio/tests --internal ../glib-2.80.2/gio/tests/test.gresource.xml
../glib-2.80.2/gio/tests/test.gresource.xml: Failed to execute helper program (No such file or directory).
Looking at procmon shows it's looking for gspawn-win64-helper-console.exe
which hasn't been built yet at that point.
I can confirm that downgrading to ninja 1.11 makes things work again. The 1.12 release specifically calls out that the build order might be different with this release, exposing bugs: https://github.com/ninja-build/ninja/releases/tag/v1.12.0
As to why it only affects clang and not gcc, I don't know yet.
My current workaround is: ninja glib/gspawn-win64-helper-console.exe || ninja glib/gspawn-win32-helper-console.exe || true; ninja
I suspect a real fix would be to make the tools called during build, which could use gspawn-win64-helper-console.exe
, depend on that build target somehow.