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?).

> 
> 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

Reply via email to