On Fri Jan 23, 2026 at 9:03 PM CST, Fabian Grünbichler wrote: > On January 23, 2026 8:56 am, Kefu Chai wrote: >> The dwz tool tries to deduplicate debug information across binaries, >> but it has limits on the number of DWARF DIE (Debug Information Entries) >> it can handle. Large C++ binaries especially those using templates >> heavilily (like Ceph's crimson components), often exceed these limits. >> >> When building packages with DWZ enabled, the debian packging fails with: >> >> ``` >> dh_dwz: error: Aborting due to earlier error >> ``` >> >> So let's make ceph-crimson-osd an exception when running dwz. This >> change will not backported to tentacle as tentacle does not build >> crimson by default. > > FWIW, dh_dwz will be dropped from the default sequence in forky/DH-14, > so we could also consider nop-ing it entirely (unless that blows up > binary sizes too much?). >
Thanks for sharing! This information is critical for this change. Will we release tentacle along with forky as the base system? I will compare the package sizes with and without dwz enabled, and get back to you over the mailing list. if sizes difference is minimal or smallish, I will export DWZ=false to disable it. >> >> Signed-off-by: Kefu Chai <[email protected]> >> --- >> ...lude-ceph-osd-crimson-from-dwz-compr.patch | 52 +++++++++++++++++++ >> patches/series | 1 + >> 2 files changed, 53 insertions(+) >> create mode 100644 >> patches/0053-debian-rules-exclude-ceph-osd-crimson-from-dwz-compr.patch >> >> diff --git >> a/patches/0053-debian-rules-exclude-ceph-osd-crimson-from-dwz-compr.patch >> b/patches/0053-debian-rules-exclude-ceph-osd-crimson-from-dwz-compr.patch >> new file mode 100644 >> index 00000000000..c5f477adb30 >> --- /dev/null >> +++ b/patches/0053-debian-rules-exclude-ceph-osd-crimson-from-dwz-compr.patch >> @@ -0,0 +1,52 @@ >> +From 126f3623e3c36bf0bd233b01fd452aeec0415d89 Mon Sep 17 00:00:00 2001 >> +From: Kefu Chai <[email protected]> >> +Date: Fri, 23 Jan 2026 15:04:47 +0800 >> +Subject: [PATCH] debian/rules: exclude ceph-osd-crimson from dwz compression >> + >> +When building with DWZ enabled, the debian packaging fails with: >> +``` >> + dh_dwz: error: Aborting due to earlier error >> +``` >> +Running the dwz command manually reveals the root cause: >> +``` >> + $ dwz >> -mdebian/ceph-osd-crimson/usr/lib/debug/.dwz/x86_64-linux-gnu/ceph-osd-crimson.debug >> \ >> + -M/usr/lib/debug/.dwz/x86_64-linux-gnu/ceph-osd-crimson.debug -- \ >> + debian/ceph-osd-crimson/usr/bin/ceph-osd-crimson \ >> + debian/ceph-osd-crimson/usr/bin/crimson-store-nbd >> + dwz: debian/ceph-osd-crimson/usr/bin/ceph-osd-crimson: Too many DIEs, not >> optimizing >> + dwz: Too few files for multifile optimization >> +``` >> +The dwz tool has a limit on the number of DWARF DIEs (Debug Information >> +Entries) it can process. The ceph-osd-crimson binary, being a large C++ >> +executable with extensive template usage, exceeds this limit, causing >> +dwz to exit with status 1 and fail the build. >> + >> +This change excludes only ceph-osd-crimson from dwz processing using >> +the -X flag, allowing other binaries in the package to still benefit >> +from DWARF compression while avoiding the build failure. >> + >> +Please note, we always disable DWZ in ceph-build's ceph-dev-pipeline. >> + >> +Signed-off-by: Kefu Chai <[email protected]> >> +--- >> + debian/rules | 4 ++++ >> + 1 file changed, 4 insertions(+) >> + >> +diff --git a/debian/rules b/debian/rules >> +index 4d31ffd069f..9082c9c4dd2 100755 >> +--- a/debian/rules >> ++++ b/debian/rules >> +@@ -53,6 +53,10 @@ endif >> + >> + ifeq ($(DWZ), false) >> + override_dh_dwz: >> ++else >> ++override_dh_dwz: >> ++ # Exclude ceph-osd-crimson due to excessive debug info (too many DIEs) >> ++ dh_dwz -Xceph-osd-crimson >> + endif >> + >> + # for python3-${pkg} packages >> +-- >> +2.47.3 >> + >> diff --git a/patches/series b/patches/series >> index 53e0e6b83ca..874bef96aa4 100644 >> --- a/patches/series >> +++ b/patches/series >> @@ -50,3 +50,4 @@ >> 0050-debian-rules-enable-WITH_CRIMSON-when-pkg.ceph.crims.patch >> 0051-debian-ceph.spec-fix-ceph-osd-upgrade-conflicts.patch >> 0052-cmake-build-static-seastar-for-release-builds.patch >> +0053-debian-rules-exclude-ceph-osd-crimson-from-dwz-compr.patch >> -- >> 2.47.3 >> >> >> >> _______________________________________________ >> pve-devel mailing list >> [email protected] >> https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel >> >> >> > > > _______________________________________________ > pve-devel mailing list > [email protected] > https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel _______________________________________________ pve-devel mailing list [email protected] https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
