Skip to content

lbug 0.22.0, icebug 13.5 + Arrow 26 on Linux, re-enable GDS tests - #13

Merged
adsharma merged 9 commits into
mainfrom
lbug-0.22
Oct 25, 2026
Merged

adsharma merged 9 commits into
mainfrom
lbug-0.22

Conversation

@adsharma

Copy link
Copy Markdown
Contributor

Follow-up to #12 (now merged). Moves the stack to lbug 0.22.0 and re-enables the extension tests against a compatible pairing:

  • Move to lbug 0.22.0 (arrow stays pinned at 55 — 0.22.x still builds its Arrow batches with arrow 55, so the arrow/arrow-flight pins and the arrow56 icebug alias are unchanged).
  • Pin icebug prebuilt 13.5 on Linux, keep 13.4 elsewhere (ICEBUG_VERSION still overrides per run).
  • CI Linux: Arrow 26 — the 13.5 prebuilt links libarrow.so.2600; both apt blocks pin libarrow-dev/libarrow2600 26.0.0-1 (macOS keeps Arrow 25).
  • Vendored-first rpath order on macOS — /opt/homebrew entries preceded the vendored ones, so an ambient Homebrew ladybug 0.20.0 (and its stale libnetworkit) shadowed the pinned prebuilts.
  • Re-enable GDS extension tests in CI — reverts the Query shell, remote ADBC, segfault fix, .* projection follow #12 skips now that Linux pairs the served 0.22.0 extension (all 37 NetworKit imports resolve against the 13.5 prebuilt — verified by symbol check) with lbug 0.22.0.

Verified locally with --release: fmt clean, clippy clean, full suite green except the 3 gds tests, which fail here with a clean LOAD algo assertion (macOS keeps the 13.4 prebuilt, whose libnetworkit lacks symbols the served 0.22.0 extension needs) — Linux CI is the gate for those.

lbug 0.22.x still builds its Arrow batches with arrow 55, so the
arrow/arrow-flight pins and the arrow56 icebug alias are unchanged.
Vendored liblbug.dylib refreshed to the 0.22.0 osx-arm64 release
(gitignored liblbug/).
The Linux CI pairs the 0.22.0 algo extension (which needs NetworKit
symbols introduced after 13.2) with the 13.5 prebuilt; macOS/Windows
stay on 13.4. Overridable per run via ICEBUG_VERSION.
The Linux 13.5 prebuilt links libarrow.so.2600; pin both apt blocks
to libarrow-dev/libarrow2600 26.0.0-1 (macOS keeps its Arrow 25
install, matching the 13.4 prebuilt there).
/opt/homebrew entries preceded the @executable_path ones, so an
ambient Homebrew ladybug 0.20.0 (and its stale libnetworkit) shadowed
the pinned ./liblbug and ./icebug prebuilts at load time — crashing
with ABI skew instead of using the vendored libs. Vendored dirs now
resolve first; Homebrew/system entries remain as fallback for arrow
and libomp, matching the Linux sections' existing order.
lbug 0.22.0 is out with a compatible algo extension build, and Linux
CI now pairs it with the icebug 13.5 prebuilt + Arrow 26. If the
served extension breaks ABI again, these tests segfault the harness
instead of failing gracefully — re-add targeted --skip flags then.
The served 0.22.0 algo extension needs NetworKit symbols added after
13.2 (verified: the Linux and macOS 13.5 prebuilts export them, 13.2
and 13.4 do not). The macOS/Windows 13.5 builds still link
libarrow.2500, so the Arrow 25 setup there is unchanged; only the
Linux 13.5 build links libarrow.so.2600 (an upstream release-pipeline
mistake — hence the Arrow 26 apt pin in CI).
Only the Linux pairing (icebug 13.5 + apt Arrow 26) satisfies the
served 0.22.0 extension's loader deps; macOS/Windows keep the
Arrow-25-era stack, where the extension can't LOAD (clean failure,
but it would still fail the gate). Linux runs the tests for real.
@adsharma
adsharma merged commit ae84176 into main Oct 25, 2026
1 check passed
@adsharma
adsharma deleted the lbug-0.22 branch October 25, 2026 22:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant