From 0da91cc7060e7c989316991e1ed4857047379699 Mon Sep 17 00:00:00 2001 From: Ben Woodard Date: Tue, 7 Mar 2023 12:34:18 -0800 Subject: [PATCH] Remove libunwind from dependencies In the case where a C application uses zeromq and then dlopen's a C++ module, the C++ exception handling functionality will not work because libzmg pulls in libunwind. Then the C++ module brings in libstdc++ and libgcc_s, the personality function which is part of the C++ exception handling the runtime finds the version of _Unwind_GetLanguageSpecificData which is in libunwind rather than the one that is in libgcc_s and uses that. However, version does not have a complete implementation and so it fails causing the application to abort. This fixes https://bugzilla.redhat.com/show_bug.cgi?id=2175966 Signed-off-by: Ben Woodard --- zeromq.spec | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/zeromq.spec b/zeromq.spec index 3c7fcfa..bc67d32 100644 --- a/zeromq.spec +++ b/zeromq.spec @@ -1,8 +1,9 @@ %bcond_without pgm +%bcond_without unwind Name: zeromq Version: 4.3.4 -Release: 5%{?dist} +Release: 6%{?dist} Summary: Software library for fast, message-based applications License: LGPLv3+ @@ -17,7 +18,10 @@ BuildRequires: libtool BuildRequires: asciidoc BuildRequires: xmlto BuildRequires: libsodium-devel + +%if %{with unwind} BuildRequires: libunwind-devel +%endif %if %{with pgm} BuildRequires: openpgm-devel @@ -63,7 +67,9 @@ autoreconf -fi --with-libgssapi_krb5 \ %endif --with-libsodium \ +%if %{with unwind} --enable-libunwind \ +%endif --disable-Werror \ --disable-static %make_build @@ -101,6 +107,10 @@ make check V=1 || ( cat test-suite.log && exit 1 ) %changelog +* Tue Mar 7 2023 Ben Woodard - 4.3.4-6 +- disable building with libunwind to fix C++ exceptions when a C applicaion loads + a module written in C++ #2175966 + * Sat Jan 21 2023 Fedora Release Engineering - 4.3.4-5 - Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild