Package: src:zeromq3
Version: 4.2.5-1
Severity: important
Tags: patch upstream
Forwarded: https://github.com/zeromq/libzmq/pull/3168

Dear Maintainer,

The zeromq's autotools script, when ran on Hurd or kFreeBSD, do not
correctly use a version map to restrict the exported symbols, and as a
result depending on the build some of the standard libraries symbols
are exposed by the shared library.
This is currently causing zeromq3 to fail to build on kFreeBSD, because
one such symbol is disappearing.

I fixed this upstream, and the patch is inlined at the bottom. After
applying this, all the symbols marked with kfreebsd can be removed from
libzmq5.symbols.

I have tested this on a kFreeBSD VM and on a Hurd porterbox.

-- 
Kind regards,
Luca Boccassi


Author: Luca Boccassi <bl...@debian.org>
Description: stop libstdc++ symbols from being exported on 
Debian/[Hurd|kFreeBSD]
 Use the --version-script map on those systems as well, as it is supported.
Forwarded: https://github.com/zeromq/libzmq/pull/3168
Applied-Upstream: 681e53f369d973d50a519cade214d86949978d2c
--- a/Makefile.am
+++ b/Makefile.am
@@ -284,6 +284,12 @@ src_libzmq_la_LDFLAGS = \
        @LIBZMQ_EXTRA_LDFLAGS@ \
        -Wl,--version-script=$(srcdir)/src/libzmq.vers
 else
+if ON_GNU
+src_libzmq_la_LDFLAGS = \
+       -version-info @LTVER@ \
+       @LIBZMQ_EXTRA_LDFLAGS@ \
+       -Wl,--version-script=$(srcdir)/src/libzmq.vers
+else
 src_libzmq_la_LDFLAGS = \
        -version-info @LTVER@ \
        @LIBZMQ_EXTRA_LDFLAGS@ \
@@ -291,6 +297,7 @@ src_libzmq_la_LDFLAGS = \
 endif
 endif
 endif
+endif
 endif
 
 src_libzmq_la_CPPFLAGS = $(CODE_COVERAGE_CPPFLAGS) $(LIBUNWIND_CFLAGS)
--- a/configure.ac
+++ b/configure.ac
@@ -211,6 +211,12 @@ case "${host_os}" in
         ;;
     *freebsd*)
         # Define on FreeBSD to enable all library features
+        case "${host_os}" in
+            # On Debian/kFreeBSD with gnu set the --version-script flag
+            kfreebsd*-gnu*)
+                libzmq_on_gnu="yes"
+            ;;
+        esac
         CPPFLAGS="-D__BSD_VISIBLE $CPPFLAGS"
         AC_DEFINE(ZMQ_HAVE_FREEBSD, 1, [Have FreeBSD OS])
         ;;

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to