commit:     bca102e00eb771fd2b4beaceffd3963ebee8c323
Author:     Z. Liu <zhixu.liu <AT> gmail <DOT> com>
AuthorDate: Tue Jan 20 15:50:35 2026 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Jan 25 06:45:36 2026 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bca102e0

sys-cluster/ceph: fix build with clang

clang: error: unknown argument: '-export-dynamic', this issue was
introduced by ceph-17.2.3-flags.patch, which was added to address
https://bugs.gentoo.org/866159 and has been dropped for ceph 20+.

Bug: https://bugs.gentoo.org/866159
Signed-off-by: Z. Liu <zhixu.liu <AT> gmail.com>
Part-of: https://github.com/gentoo/gentoo/pull/45459
Closes: https://github.com/gentoo/gentoo/pull/45459
Signed-off-by: Sam James <sam <AT> gentoo.org>

 sys-cluster/ceph/ceph-19.2.2-r6.ebuild              |  1 +
 sys-cluster/ceph/ceph-19.2.3.ebuild                 |  1 +
 .../files/ceph-19.2.2-drop-export-dynamic.patch     | 21 +++++++++++++++++++++
 3 files changed, 23 insertions(+)

diff --git a/sys-cluster/ceph/ceph-19.2.2-r6.ebuild 
b/sys-cluster/ceph/ceph-19.2.2-r6.ebuild
index 4b4aa8bcc476..928c9d31da72 100644
--- a/sys-cluster/ceph/ceph-19.2.2-r6.ebuild
+++ b/sys-cluster/ceph/ceph-19.2.2-r6.ebuild
@@ -250,6 +250,7 @@ PATCHES=(
        # https://bugs.gentoo.org/960812
        "${FILESDIR}/ceph-19.2.2-silent-unused-variable-warning.patch"
        "${FILESDIR}/ceph-19.2.2-src-mgr-make-enum-statically-castable.patch"
+       "${FILESDIR}/ceph-19.2.2-drop-export-dynamic.patch"
 )
 
 check-reqs_export_vars() {

diff --git a/sys-cluster/ceph/ceph-19.2.3.ebuild 
b/sys-cluster/ceph/ceph-19.2.3.ebuild
index 872d6c1c8f8e..9b5f645c2e52 100644
--- a/sys-cluster/ceph/ceph-19.2.3.ebuild
+++ b/sys-cluster/ceph/ceph-19.2.3.ebuild
@@ -249,6 +249,7 @@ PATCHES=(
        # https://bugs.gentoo.org/960812
        "${FILESDIR}/ceph-19.2.2-silent-unused-variable-warning.patch"
        "${FILESDIR}/ceph-19.2.2-src-mgr-make-enum-statically-castable.patch"
+       "${FILESDIR}/ceph-19.2.2-drop-export-dynamic.patch"
 )
 
 check-reqs_export_vars() {

diff --git a/sys-cluster/ceph/files/ceph-19.2.2-drop-export-dynamic.patch 
b/sys-cluster/ceph/files/ceph-19.2.2-drop-export-dynamic.patch
new file mode 100644
index 000000000000..513f3b9eb6a2
--- /dev/null
+++ b/sys-cluster/ceph/files/ceph-19.2.2-drop-export-dynamic.patch
@@ -0,0 +1,21 @@
+clang: error: unknown argument: '-export-dynamic'
+
+This issue was introduced by ceph-17.2.3-flags.patch,
+which was added to address https://bugs.gentoo.org/866159
+and has been dropped for ceph 20+. However, upstream
+has refused to drop '-export-dynamic', see
+https://github.com/ceph/ceph/pull/62424
+
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index da3102f..fe053f9 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -148,7 +148,7 @@ elseif(CMAKE_CXX_COMPILER_ID STREQUAL Clang)
+     message(FATAL_ERROR "C++20 support requires a minimum Clang version of 
12.")
+   endif()
+   set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_EXPORTS_C_FLAG}")
+-  string(APPEND CMAKE_LINKER_FLAGS " -rdynamic -export-dynamic 
${CMAKE_EXE_EXPORTS_C_FLAG}")
++  string(APPEND CMAKE_LINKER_FLAGS " -rdynamic ${CMAKE_EXE_EXPORTS_C_FLAG}")
+   string(PREPEND CMAKE_CXX_FLAGS_DEBUG "-g ")
+   
add_compile_options($<$<COMPILE_LANGUAGE:CXX>:-Wno-inconsistent-missing-override>)
+   add_compile_options($<$<COMPILE_LANGUAGE:CXX>:-Wno-mismatched-tags>)

Reply via email to