Forward-merge release/26.06 into main#1300
Merged
Merged
Conversation
## 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
Contributor
Author
|
SUCCESS - forward-merge complete. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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.