Skip to content

[R][CI] r-devdocs crossbow job fails during gap between C++ and R releases #49380

@thisisnic

Description

@thisisnic

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

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions