TOOL-30782 stop building gdb-python and crash-python - #412
Merged
Conversation
Neither builds on resolute without carrying work we do not want to carry. gdb-python bundles a readline old enough to predate C23, so GCC 15's default of -std=gnu23 turns every unprototyped termcap call into an argument-count error. The only cheap fix is pinning the whole tree to -std=gnu17, which is a mitigation with no end date rather than a port. crash-python goes with it. It is the Python extension layer that runs inside gdb-python and Depends on it, so keeping crash-python while dropping gdb-python would leave it uninstallable. Nothing programmatic loses a dependency. delphix-platform pulls crash-python in through the DEPENDS block its own comment describes as "tools that are intended for human convenience. The product should not rely on them programmatically." That reference is removed separately in delphix-platform. What is actually lost is on-appliance kernel crash-dump inspection. Dump analysis in practice happens off-appliance with sdb against a saved vmcore, and savedump, makedumpfile and libkdumpfile all stay. The repos are left in place; only the build entries go. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This was referenced Aug 10, 2026
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.
Problem
Neither package builds on resolute without carrying work we do not want to carry.
gdb-pythonbundles a readline old enough to predate C23. GCC 15 defaults to-std=gnu23, where an empty parameter list means(void), so readline's unprototyped termcap declarations turn every call into an error:The only cheap fix is pinning the whole tree to
-std=gnu17(gdb-python#21) — a mitigation with no end date rather than a port. Rather than keep that indefinitely, drop the package.crash-pythonhas to go with it: it is the Python extension layer that runs inside gdb-python andDepends: gdb-python, so keeping it while dropping gdb-python leaves it uninstallable and breaks the appliance build at dependency resolution.Solution
Remove both from
package-lists/build/main.pkgsand delete theirpackages/definitions. The repos themselves are left in place — only the build entries go.We keep crash-dump analysis; we drop the second way of doing it
Worth stating plainly, since "remove crash-python" reads worse than it is:
sdbremains available on the appliance, exactly as before — still built here, still indelphix-platform's dependencies. It is the tool we actually reach for, it is ours, and it is where the debugging effort goes.drgnremains — the enginesdbis built on.savedump,makedumpfile,libkdumpfileall remain. Dump collection is untouched.The appliance keeps a complete collect-and-analyse story. What goes away is the crash-python/gdb-python path, an older second way of inspecting the same dumps that duplicates what
sdbalready does — and the only one of the two that will not build on 26.04.sdbis the preferred tool going forward, and this makes it the only one, instead of maintaining a parallel toolchain to reach the same place.Nothing programmatic loses a dependency. The only consumer is
delphix-platform, which pulls incrash-pythonthrough theDEPENDSblock its own comment describes as "tools that are intended for human convenience. The product should not rely on them programmatically." That reference is removed in delphix-platform#567, with the same change up for team discussion on develop in #568.Verified there is nothing else to unwind: neither package appears in the develop or os-upgrade auto-sync lists in
linux_pkg_check_updates.groovy,appliance-buildhas zero references, and no other package depends on either (checkeddlpx-app-gate,sdb,drgn,savedump,libkdumpfile,makedumpfile). After this changegrep -rfinds no remaining reference in linux-pkg.Testing Done
Validated by the next
build-packages/post-pushBUILD_POLICY=ALLrun onos-upgrade, which should no longer schedule either package; results on TOOL-30782.