[R][CI] r-devdocs crossbow job fails during gap between C++ and R releases
- Dominant language
- C++
- Stars
- 17.1k
- Forks
- 4.3k
- Avg merge
- 3d 13h
- Merged PRs (30d)
- 88
Description
### Describe the bug, including details regarding any error messages, version, and platform.
The `r-devdocs` crossbow job consistently fails during the period between when the main Apache Arrow release completes (and C++ packages are published to apt) and when the R package is released to CRAN.
Example failure from 23.0.1: https://github.com/ursacomputing/crossbow/actions/runs/22147872099/job/64030288380
The error is an ABI mismatch:
```
Error: package or namespace load failed for 'arrow' in dyn.load(file, DLLpath = DLLpath, ...):
unable to load shared object '/home/runner/work/_temp/Library/arrow/libs/arrow.so':
/home/runner/work/crossbow/crossbow/dist/lib/libarrow_compute.so.2300: undefined symbol: _ZN5arrow6Status14AddContextLineEPKciS2_
```
### Root cause
The `r/vignettes/developers/setup.Rmd` file contains a hidden test section (lines 342-351) that:
1. Builds Arrow C++ from source (from the git checkout)
2. Installs the R package linked against this custom-built libarrow
3. Installs system `libarrow-dev` from the Apache apt repository
4. Attempts to load the R package
Step 3 installs the **released** version of libarrow (e.g., 23.0.1) from apt, but the R package was built against libarrow from the git checkout, which may contain post-release commits with different symbols. This causes the undefined symbol error when loading.
This test exists to verify the "Multiple versions of libarrow" troubleshooting section in the developer setup docs, but it assumes the apt version and git checkout version are compatible - which isn't true during the release gap.
### Component(s)
R
Contributor guide
Assessment
This issue has not been assessed yet.