From 11e45a45f5e14b472acde31168a30bed5e60cf8b Mon Sep 17 00:00:00 2001 From: Kefu Chai Date: Thu, 9 Apr 2026 08:21:02 +0800 Subject: [PATCH] debian: build with system jerasure and gf-complete Add libjerasure-dev to Build-Depends and enable WITH_SYSTEM_JERASURE so that the Debian package builds ec_jerasure and ec_shec plugins against the distribution-provided libraries instead of the vendored copies. libjerasure-dev pulls in libgf-complete-dev, so both libraries are covered by a single build dependency. Add libjerasure2 to ceph-base's Depends for the runtime shared libraries. libjerasure2 in turn depends on libgf-complete1t64. The explicit dependency is needed because dh_shlibdeps excludes erasure-code plugins from automatic dependency scanning (they are loaded via dlopen at runtime). The distro-packaged jerasure and gf-complete are from the same upstream git snapshots (2017/04/10) as ceph's vendored copies. gf-complete source is byte-identical. jerasure differs only in additional null-pointer checks and error handling in jerasure.c, plus an extra galois_uninit_field() function that ceph does not use. All function signatures ceph depends on are present and compatible. Signed-off-by: Kefu Chai --- debian/control | 2 ++ debian/rules | 1 + 2 files changed, 3 insertions(+) diff --git a/debian/control b/debian/control index 3d4c84984dd..46918575f7e 100644 --- a/debian/control +++ b/debian/control @@ -49,6 +49,7 @@ Build-Depends: automake, libhwloc-dev , libibverbs-dev, libicu-dev, + libjerasure-dev, librdmacm-dev, libkeyutils-dev, libldap2-dev, @@ -144,6 +145,7 @@ Package: ceph-base Architecture: linux-any Depends: binutils, ceph-common (= ${binary:Version}), + libjerasure2, logrotate, parted, psmisc, diff --git a/debian/rules b/debian/rules index 4d31ffd069f..21b4d8ab3f0 100755 --- a/debian/rules +++ b/debian/rules @@ -20,6 +20,7 @@ ifneq ($(filter pkg.ceph.crimson,$(DEB_BUILD_PROFILES)),) endif extraopts += -DWITH_JAEGER=ON +extraopts += -DWITH_SYSTEM_JERASURE=ON extraopts += -DWITH_SYSTEM_UTF8PROC=ON extraopts += -DWITH_OCF=ON -DWITH_LTTNG=ON extraopts += -DWITH_MGR_DASHBOARD_FRONTEND=OFF -- 2.47.3