Jens-G opened a new pull request, #3954: URL: https://github.com/apache/thrift/pull/3954
[THRIFT-6373](https://issues.apache.org/jira/browse/THRIFT-6373) MSYS2 is phasing out its MINGW64 environment ([news of 2026-03-15](https://www.msys2.org/news/#2026-03-15-deprecating-the-mingw64-environment)): no new packages are added to it, and existing leaf packages may be removed if issues arise. The AppVeyor MINGW job builds the compiler and the C++ library there. This moves it to UCRT64, which carries the same versions of everything the job installs: GCC 16.2.0, Boost 1.92.0, CMake 4.4.3, libevent 2.1.13, OpenSSL 3.6.4 and zlib 1.3.2. ### The change `MINGW-appveyor-full.bat` now sets the package name prefix and the root directory of the MSYS2 environment in one place (`MINGWPKG`, `MINGWDIR`). It uses them for the PATH entry in `~/.bash_profile`, for the package list, and for the compiler, make and OpenSSL paths it passes to CMake. For x64 that is UCRT64 (`mingw-w64-ucrt-x86_64`, `/ucrt64`). An x86 build, which the matrix does not have, stays in MINGW32, the only 32-bit environment MSYS2 has left. The package list no longer names `mingw-w64-x86_64-toolchain` on top of the environment's own toolchain. The two `pacman -Syu` calls are unchanged. So this run also shows whether gdb 18.1-3 from MSYS2 fixes the MINGW failure that master has had since build 54792483 (details in the ticket). Item 2 of the ticket stops these calls from upgrading the MINGW64 and MINGW32 packages that are preinstalled on the image. It will be added here once that is known. `MSYS-appveyor-full.bat` installs MINGW64 packages as well, but no job runs it, so it is left unchanged. `build/cmake/README-MSYS2.md` is item 3 of the ticket and a separate change. ### Tests The script was run under Wine 10 cmd with a stub `bash.exe` that logs its command line, before and after the change, for `PLATFORM` x64 and x86. - **x64:** the MSYS2 commands differ only in the environment: `/ucrt64/bin` on the PATH, the `mingw-w64-ucrt-x86_64-` packages, and the `/ucrt64` paths for CMake. The `pacman -Syu` calls are identical. - **x86:** the only differences are the removed `mingw-w64-x86_64-toolchain` and one more `sed`, which clears a `/ucrt64/bin` line from `~/.bash_profile`. The build itself can only be tested on AppVeyor. The MINGW job should build the compiler and the C++ library with OpenSSL, libevent and ZLIB, and pass all 57 tests, like the last green run on master (54792478, 35 minutes). 🤖 Generated with [Claude Code](https://claude.com/claude-code) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
