Skip to content

Forward-merge release/26.06 into main#1300

Merged
GPUtester merged 1 commit into
mainfrom
release/26.06
May 26, 2026
Merged

Forward-merge release/26.06 into main#1300
GPUtester merged 1 commit into
mainfrom
release/26.06

Conversation

@rapids-bot
Copy link
Copy Markdown
Contributor

@rapids-bot rapids-bot Bot commented May 26, 2026

Forward-merge triggered by push to release/26.06 that creates a PR to keep main up-to-date. If this PR is unable to be immediately merged due to conflicts, it will remain open for the team to manually merge. See forward-merger docs for more info.

## Issue

The release/26.06 container nightly CLI test fails on the `.lp.bz2` case:

```
----------------- CLI TEST START ---------------
Expected solution not found for .lp.bz2
Error: Process completed with exit code 1.
```

(e.g. https://github.com/NVIDIA/cuopt/actions/runs/26435964807/job/77827519723#step:5:1291)

## Root cause

`cpp/src/io/file_to_string.cpp` dlopens libbz2 by its **unversioned** name:

```cpp
dlopen("libbz2.so", RTLD_LAZY)
```

On Debian/Ubuntu, the unversioned `libbz2.so` symlink only ships with the **`libbz2-dev`** package. The runtime package (`libbz2-1.0`, pulled in transitively by `bzip2`) provides only `libbz2.so.1.0` / `libbz2.so.1`. So `dlopen` returns null, the .bz2 read aborts with *"Could not open .bz2 file..."*, and the CLI test grep miss surfaces as *"Expected solution not found for .lp.bz2"*.

`.lp.gz` works in the same container because the zlib code path already uses the **versioned SONAME**: `dlopen("libz.so.1", RTLD_LAZY)`.

## Fix

Mirror the zlib pattern. Try names in decreasing specificity and use the first that loads:

1. `libbz2.so.1.0` — bzip2 upstream's stable SONAME (`objdump -p` confirms; unchanged across all 1.0.x releases for ~20 years)
2. `libbz2.so.1` — symlink commonly shipped alongside .so.1.0
3. `libbz2.so` — last resort, dev-only symlink

A future libbz2 2.x with SONAME `libbz2.so.2.0` would (correctly) fail to load — it would be an ABI break anyway, same as the existing zlib behavior.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Authors:
  - Ramakrishnap (https://github.com/rgsl888prabhu)

Approvers:
  - Hugo Linsenmaier (https://github.com/hlinsen)

URL: #1297
@rapids-bot rapids-bot Bot requested a review from a team as a code owner May 26, 2026 17:26
@rapids-bot rapids-bot Bot requested review from chris-maes and mlubin May 26, 2026 17:26
@GPUtester GPUtester merged commit dd9b419 into main May 26, 2026
@rapids-bot
Copy link
Copy Markdown
Contributor Author

rapids-bot Bot commented May 26, 2026

SUCCESS - forward-merge complete.

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.

2 participants