Skip to content

Commit ef2c014

Browse files
committed
revert back to rtools40
1 parent ea984cb commit ef2c014

2 files changed

Lines changed: 10 additions & 28 deletions

File tree

.github/workflows/r.yml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,7 @@ jobs:
205205
fail-fast: false
206206
matrix:
207207
config:
208-
- { rtools: 42, arch: 'ucrt64' }
208+
- { rtools: 40, arch: 'ucrt64' }
209209
steps:
210210
- run: git config --global core.autocrlf false
211211
- name: Checkout Arrow
@@ -228,10 +228,10 @@ jobs:
228228
r-${{ matrix.config.rtools }}-ccache-mingw-${{ matrix.config.arch }}-
229229
- uses: r-lib/actions/setup-r@v2
230230
with:
231-
# Note: RTools must be 42 here because RTools42 + ucrt is how we build the Arrow C++
232-
# static library. The R is not used here but R 4.2 was the last R to use
233-
# Rtools42.
234-
r-version: "4.2"
231+
# Note: RTools must be 40 here because RTools40 + ucrt is how we build the Arrow C++
232+
# static library. The R is not used here but R 4.1 was the last R to use
233+
# Rtools40.
234+
r-version: "4.1"
235235
rtools-version: ${{ matrix.config.rtools }}
236236
Ncpus: 2
237237
- name: Build Arrow C++
@@ -284,14 +284,14 @@ jobs:
284284
- name: Download Timezone Database
285285
shell: bash
286286
run: |
287-
# MinGW (non-MSVC) builds use the vendored date library for timezone
288-
# handling, which requires a local copy of the IANA tzdata database.
287+
# RTools 40 uses GCC 8.x which does not support C++20 chrono timezones,
288+
# so Arrow uses the vendored date library which requires tzdata
289289
ci/scripts/download_tz_database.sh
290290
- run: mkdir r/windows
291291
- name: Download artifacts
292292
uses: actions/download-artifact@v8
293293
with:
294-
name: libarrow-rtools42-ucrt64.zip
294+
name: libarrow-rtools40-ucrt64.zip
295295
path: r/windows
296296
- name: Unzip and rezip libarrows
297297
shell: bash

ci/scripts/r_windows_build.sh

Lines changed: 2 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -23,26 +23,8 @@ set -ex
2323
# Make sure it is absolute and exported
2424
export ARROW_HOME="$(cd "${ARROW_HOME}" && pwd)"
2525

26-
# The RTools42 release (r-hub/rtools42) ships with 0-byte ca-bundle.crt files
27-
# due to an MSYS2 build bug (msys2/msys2-installer#40). Regenerate them from
28-
# the trust anchors that are already installed.
29-
if [ ! -s /usr/ssl/certs/ca-bundle.crt ]; then
30-
update-ca-trust
31-
fi
32-
33-
# The CI shell runs bash directly without --login, so MSYSTEM is unset and
34-
# the ucrt64 toolchain isn't on PATH. Both are needed for makepkg-mingw.
35-
export MSYSTEM=${MSYSTEM:-UCRT64}
36-
export PATH="/${MSYSTEM,,}/bin:$PATH"
37-
38-
# RTools42's frozen MSYS2 keyring is too old for current mirror signatures.
39-
pacman-key --init
40-
pacman-key --populate msys2
4126
pacman --noconfirm -Syy
4227

43-
# RTools42's ucrt64 toolchain doesn't include strip; install it for makepkg-mingw.
44-
pacman --noconfirm -S mingw-w64-ucrt-x86_64-binutils
45-
4628
RWINLIB_LIB_DIR="lib"
4729
: ${MINGW_ARCH:="mingw32 mingw64 ucrt64"}
4830

@@ -64,8 +46,8 @@ cd build
6446
# This may vary by system/CI provider
6547
MSYS_LIB_DIR="/c/rtools${RTOOLS_VERSION}"
6648

67-
# Untar the builds we made (RTools42+ uses zstd compression instead of xz)
68-
ls *.zst *.xz 2>/dev/null | xargs -n 1 tar -xf
49+
# Untar the builds we made
50+
ls *.xz | xargs -n 1 tar -xJf
6951
mkdir -p $DST_DIR
7052
# Grab the headers from one, either one is fine
7153
# (if we're building twice to combine old and new toolchains, this may already exist)

0 commit comments

Comments
 (0)