From: Kefu Chai <k.chai@proxmox.com>
To: pve-devel@lists.proxmox.com
Subject: [pve-devel] [PATCH ceph 3/4 v5] exclude ceph-osd-crimson when running dwz
Date: Fri, 23 Jan 2026 15:56:19 +0800 [thread overview]
Message-ID: <20260123075619.2731724-8-k.chai@proxmox.com> (raw)
In-Reply-To: <DFUZ6FOPC7QH.ZJF854WPORYV@proxmox.com>
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.
Signed-off-by: Kefu Chai <k.chai@proxmox.com>
---
...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 <k.chai@proxmox.com>
+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 <k.chai@proxmox.com>
+---
+ 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
pve-devel@lists.proxmox.com
https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
next prev parent reply other threads:[~2026-01-23 7:58 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-01-21 15:12 [pve-devel] [PATCH ceph] cherry-pick changes to use system packages for bundled deps Kefu Chai
2026-01-22 8:29 ` [pve-devel] [PATCH ceph] cherry-pick changes to buiild crimson package Kefu Chai
2026-01-22 10:14 ` [pve-devel] [PATCH ceph 2/3 v2] " Kefu Chai
2026-01-22 10:14 ` [pve-devel] [PATCH ceph 3/3] make: build with pkg.ceph.crimson build profile Kefu Chai
2026-01-22 10:56 ` [pve-devel] [PATCH ceph 2/3 v3] cherry-pick changes to build crimson package Kefu Chai
2026-01-22 11:43 ` [pve-devel] [PATCH ceph 2/3 v4] " Kefu Chai
2026-01-23 7:56 ` [pve-devel] [PATCH ceph 1/4 v5] cherry-pick changes to use system packages for bundled deps Kefu Chai
2026-01-23 8:18 ` Kefu Chai
2026-01-23 13:03 ` Fabian Grünbichler
2026-01-23 7:56 ` [pve-devel] [PATCH ceph 2/4 v5] cherry-pick changes to build crimson package Kefu Chai
2026-01-23 13:03 ` Fabian Grünbichler
2026-01-23 7:56 ` Kefu Chai [this message]
2026-01-23 13:03 ` [pve-devel] [PATCH ceph 3/4 v5] exclude ceph-osd-crimson when running dwz Fabian Grünbichler
2026-01-23 7:56 ` [pve-devel] [PATCH ceph 4/4 v5] make: build with pkg.ceph.crimson build profile Kefu Chai
2026-01-23 13:03 ` Fabian Grünbichler
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260123075619.2731724-8-k.chai@proxmox.com \
--to=k.chai@proxmox.com \
--cc=pve-devel@lists.proxmox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.