On Mon, 16 May 2022 at 16:06, Rüdiger Ranft-Driscoll <deb-b...@qzzq.de> wrote:
>
> Package: libzmq5
> Version: 4.3.4-1
> Severity: normal
> X-Debbugs-Cc: deb-b...@qzzq.de
>
> Right now it is impossible to build software relying on the ZMQ_HAVE_POLLER
> API. Trying this results in link errors, because the symbols are not exported
> from /usr/lib/x86_64-linux-gnu/libzmq.so.5.2.4:
>
>  $ readelf -s --wide libzmq.so.5.2.4 | grep zmq_poll
>    296: 0000000000081200  1207 FUNC    GLOBAL DEFAULT   12 zmq_poll
>
> The strange thing is, that when I download the source with
> `apt-get source zeromq3`, and build this package with
> `fakeroot debian/rules binary`, and install those .debs, then I get a library
> with the wanted symbols:
>
>  $ readelf -s --wide /usr/lib/x86_64-linux-gnu/libzmq.so.5.2.4 | grep zmq_poll
>    251: 0000000000083500   138 FUNC    GLOBAL DEFAULT   12 zmq_poller_add_fd
>    258: 0000000000083490    99 FUNC    GLOBAL DEFAULT   12 zmq_poller_add
>    264: 0000000000083390    72 FUNC    GLOBAL DEFAULT   12 zmq_poller_new
>    280: 0000000000083780    66 FUNC    GLOBAL DEFAULT   12 zmq_poller_wait
>    281: 00000000000835e0   114 FUNC    GLOBAL DEFAULT   12 
> zmq_poller_modify_fd
>    289: 00000000000836a0    93 FUNC    GLOBAL DEFAULT   12 
> zmq_poller_remove_fd
>    292: 0000000000083590    69 FUNC    GLOBAL DEFAULT   12 zmq_poller_modify
>    293: 0000000000083700   125 FUNC    GLOBAL DEFAULT   12 zmq_poller_wait_all
>    299: 00000000000837d0    72 FUNC    GLOBAL DEFAULT   12 zmq_poller_fd
>    300: 0000000000083660    61 FUNC    GLOBAL DEFAULT   12 zmq_poller_remove
>    317: 0000000000083ce0  1915 FUNC    GLOBAL DEFAULT   12 zmq_poll
>    325: 00000000000833e0    98 FUNC    GLOBAL DEFAULT   12 zmq_poller_destroy
>    341: 0000000000083450    50 FUNC    GLOBAL DEFAULT   12 zmq_poller_size
>
> I have no clue, why I got a working package from the debian package sources on
> my machine, while the official package is kind of damaged.
>
> Adiós
> Rudi.

That is working as intended - those symbols are clearly marked as
DRAFT, and as such are not stable and subject to API/ABI breakages at
any time, without any warning. It is not appropriate to ship in
Debian/Ubuntu with those enabled.

At your own risk, you can build your own or you can use the upstream
packages that are built with DRAFT symbols - again, with the
understanding that those interfaces may break at any time:

https://download.opensuse.org/repositories/network:/messaging:/zeromq:/release-draft/Debian_11/

Reply via email to