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/