Build and install ZeroMQ
Previously zmq 4.3.2 was succesfully build on ubuntu 18.04.6 LTS but after upgrading ubuntu 22.04 LTS and zmq version to 4.3.4 installation seems to be failing.
Environment libzmq version : v4.3.4 Ubuntu 22.04 LTS (Jammy ) GCC : 12.0.1 G++ : 12.0.1 Make : 4.3
Minimal test code / Steps to reproduce the issue
- Clone 4.3.4 source code
- cd zeromq
- ./autogen.sh
- chmod +x configure
- ./configure --prefix=/XXX/XXX --enable-shared --with-libsodium --disable-static -- disable-werror --without-docs make -j8
What's the actual result?
Making all in doc
make[1]: Entering directory '/mnt/zeromq/doc'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory '/mnt/zeromq/doc'
make[1]: Entering directory '/mnt/zeromq'
CXX tools/curve_keygen.o
CXX src/libzmq_la-curve_client.lo
CXX src/libzmq_la-rep.lo
CXX src/libzmq_la-req.lo
CXX src/libzmq_la-router.lo
CXX src/libzmq_la-scatter.lo
CXX src/libzmq_la-select.lo
CXX src/libzmq_la-server.lo
CXX src/libzmq_la-session_base.lo
CXX src/libzmq_la-signaler.lo
CXX src/libzmq_la-socket_base.lo
CXX src/libzmq_la-socks.lo
CXX src/libzmq_la-socks_connecter.lo
CXX src/libzmq_la-stream.lo
In file included from /usr/include/string.h:535,
from src/err.hpp:39,
from src/msg.hpp:37,
from src/curve_client.cpp:35:
In function 'void* memcpy(void*, const void*, size_t)',
inlined from 'static int zmq::curve_client_tools_t::produce_initiate(void*, size_t, uint64_t, const uint8_t*, const uint8_t*, const uint8_t*, const uint8_t*, const uint8_t*, const uint8_t*, const uint8_t*, const uint8_t*, size_t)' at src/curve_client_tools.hpp:186:16:
/usr/include/x86_64-linux-gnu/bits/string_fortified.h:29:33: error: 'void* __builtin_memcpy(void*, const void*, long unsigned int)' offset [0, 79] is out of the bounds [0, 0] [-Werror=array-bounds]
29 | return __builtin___memcpy_chk (__dest, __src, __len,
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
30 | __glibc_objsize0 (__dest));
| ~~~~~~~~~~~~~~~~~~~~~~~~~~
cc1plus: all warnings being treated as errors
CXX src/libzmq_la-stream_connecter_base.lo
make[1]: *** [Makefile:5394: src/libzmq_la-curve_client.lo] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: Leaving directory '/mnt/zeromq'
make: *** [Makefile:8216: all-recursive] Error 1
----------------------------------------
[ ERROR(2) ]
What's the expected result?
As steps mentioned in installation documents make shoud have been succesfull.