Skip to content

Conversation

@eramongodb
Copy link
Contributor

@eramongodb eramongodb commented Nov 14, 2025

Although it is not entirely clear why (e.g. a recent toolchain upgrade?), the mingw-w64 GCC compilation task on windows-vsCurrent is timing out during the linking step. As far as I can tell, this seems to be due to a poor interaction between the lld linker and mingw-w64 GCC (?). Disabling use of the lld linker by setting -DMONGO_USE_LDD=OFF appears to resolve this issue. (Note: libmongocrypt is not compiled for mingw tasks.)

As a drive-by improvement (this doesn't seem to affect the lld problem), a UCRT-based mingw-w64 GCC toolchain (winlibs) has now been deployed to windows-vsCurrent and windows-2022-latest following DEVPROD-20813. This will allows us to finally deprecate and remove the ancient __USE_MINGW_ANSI_STDIO workaround, among other C99 compatibility issues with msvcrt-based toolchains:

printf("%zu\n", (size_t){123}); // UCRT: OK (as it should be).
                               // MSVCRT: error: unknown conversion type character 'z' in format [-Werror=format=]

... well, some C99 compatibility issues. 🥴

char buffer[sizeof("1900-01-01")] = {0};
strftime(buffer, sizeof(buffer), "%F", (struct tm){0}); // error
error: unknown conversion type character 'F' in format [-Werror=format=]
      | strftime(buffer, sizeof(buffer), "%F", &(struct tm){0}); // error
      |                                    ^

@eramongodb eramongodb requested a review from kevinAlbs November 14, 2025 19:42
@eramongodb eramongodb self-assigned this Nov 14, 2025
@eramongodb eramongodb requested a review from a team as a code owner November 14, 2025 19:42
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.

1 participant