thisisnic opened a new issue, #55398: URL: https://github.com/apache/arrow/issues/55398
### Describe the enhancement requested The Windows libarrow static library that `r/configure.win` downloads for every R user is built in CI with Rtools40 (`ci/scripts/r_windows_build.sh`, `ci/scripts/PKGBUILD`, the `windows-cpp` job in `.github/workflows/r.yml`, and the `r-binary-packages` crossbow task). Rtools40 is now archived: CRAN moved its installer to `cran-archive.r-project.org` on 2026-10-30, which broke both jobs (#55377), and its `pacman` package repository is no longer maintained. R 4.5 and later use Rtools45, which is MXE-based and has no package manager, so the current build script cannot run there as-is. Most of what libarrow needs is already bundled by the Arrow CMake build (Thrift, AWS SDK, Brotli, google-cloud-cpp, abseil, protobuf, mimalloc). Of the eight libraries `PKGBUILD` takes from the toolchain, Rtools45 ships six (zlib, zstd, lz4, bzip2, curl, re2), plus the OpenSSL and nghttp2 that the build script copies into the zip. The two it lacks, snappy and utf8proc, can be built with `Snappy_SOURCE=BUNDLED` and `utf8proc_SOURCE=BUNDLED`. I checked this against the `rtools45-toolchain-libs-full-6768` tarballs for both x86_64 and aarch64; the library sets match for everything Arrow uses. Proposed change: - Install Rtools45 in the `windows-cpp` job and call cmake directly instead of `makepkg-mingw`, with `CMAKE_PREFIX_PATH` pointing at the Rtools45 toolchain directory. - Bundle snappy, utf8proc and re2. Rtools45's re2 (2025-08-12) depends on abseil, so linking it from `configure.win` would need the `absl_*` libraries on the link line; bundling is simpler. - Update the hard-coded link flags in `r/configure.win`: drop `-lsnappy -lutf8proc -lre2`, and extend `GCS_LIBS` with the transitive dependencies of Rtools45's curl 8.18 (`libidn2`, `libpsl`, `libunistring`, `libiconv`, `libssh2`, `libgcrypt`, `libgpg-error`, brotli). - Update the crossbow task once the main workflow is green. Windows aarch64 is a follow-up, not part of this issue: the Rtools45 aarch64 toolchain has the same libraries, but #52022 (xsimd) and #50612 need resolving first. This issue was drafted with the help of an AI assistant. ### Component(s) Continuous Integration, R -- 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]
