-
Notifications
You must be signed in to change notification settings - Fork 4k
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:
- Builds Arrow C++ from source (from the git checkout)
- Installs the R package linked against this custom-built libarrow
- Installs system
libarrow-devfrom the Apache apt repository - 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