Closed eastonsuo closed 8 months ago
The workaround is to install zeromq prior to installing pyzmq, e.g. via brew install zeromq
.
This is really a libzmq issue. libzmq 4.3.4 cannot be built without libsodium on current macOS with default parameters, and fails with this error. I'm not sure what compiler flags, if any, can fix it. That's a question for libzmq folks.
The full error, building zeromq 4.3.4 (entirely without pyzmq):
export CXXFLAGS=-Wno-deprecated-declarations # avoids warnings turned into errors
./configure --without-libsodium
make V=1
gives:
Making all in doc
make[1]: Nothing to be done for `all'.
/bin/sh ./libtool --tag=CXX --mode=compile g++ -std=gnu++11 -DHAVE_CONFIG_H -I. -I./src -D_DARWIN_C_SOURCE -D_REENTRANT -D_THREAD_SAFE -fvisibility=hidden -Werror -Wall -Wno-long-long -Wno-deprecated-declarations -Wno-atomic-alignment -Wno-tautological-constant-compare -MT src/libzmq_la-ctx.lo -MD -MP -MF src/.deps/libzmq_la-ctx.Tpo -c -o src/libzmq_la-ctx.lo `test -f 'src/ctx.cpp' || echo './'`src/ctx.cpp
libtool: compile: g++ -std=gnu++11 -DHAVE_CONFIG_H -I. -I./src -D_DARWIN_C_SOURCE -D_REENTRANT -D_THREAD_SAFE -fvisibility=hidden -Werror -Wall -Wno-long-long -Wno-deprecated-declarations -Wno-atomic-alignment -Wno-tautological-constant-compare -MT src/libzmq_la-ctx.lo -MD -MP -MF src/.deps/libzmq_la-ctx.Tpo -c src/ctx.cpp -fno-common -DPIC -o src/.libs/libzmq_la-ctx.o
libtool: compile: g++ -std=gnu++11 -DHAVE_CONFIG_H -I. -I./src -D_DARWIN_C_SOURCE -D_REENTRANT -D_THREAD_SAFE -fvisibility=hidden -Werror -Wall -Wno-long-long -Wno-deprecated-declarations -Wno-atomic-alignment -Wno-tautological-constant-compare -MT src/libzmq_la-ctx.lo -MD -MP -MF src/.deps/libzmq_la-ctx.Tpo -c src/ctx.cpp -o src/libzmq_la-ctx.o >/dev/null 2>&1
mv -f src/.deps/libzmq_la-ctx.Tpo src/.deps/libzmq_la-ctx.Plo
/bin/sh ./libtool --tag=CXX --mode=compile g++ -std=gnu++11 -DHAVE_CONFIG_H -I. -I./src -D_DARWIN_C_SOURCE -D_REENTRANT -D_THREAD_SAFE -fvisibility=hidden -Werror -Wall -Wno-long-long -Wno-deprecated-declarations -Wno-atomic-alignment -Wno-tautological-constant-compare -MT src/libzmq_la-curve_client.lo -MD -MP -MF src/.deps/libzmq_la-curve_client.Tpo -c -o src/libzmq_la-curve_client.lo `test -f 'src/curve_client.cpp' || echo './'`src/curve_client.cpp
libtool: compile: g++ -std=gnu++11 -DHAVE_CONFIG_H -I. -I./src -D_DARWIN_C_SOURCE -D_REENTRANT -D_THREAD_SAFE -fvisibility=hidden -Werror -Wall -Wno-long-long -Wno-deprecated-declarations -Wno-atomic-alignment -Wno-tautological-constant-compare -MT src/libzmq_la-curve_client.lo -MD -MP -MF src/.deps/libzmq_la-curve_client.Tpo -c src/curve_client.cpp -fno-common -DPIC -o src/.libs/libzmq_la-curve_client.o
In file included from src/curve_client.cpp:35:
In file included from ./src/msg.hpp:40:
In file included from ./src/metadata.hpp:33:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/map:2356:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/functional:515:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/boyer_moore_searcher.h:26:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/vector:372:5: error: static assertion failed due to requirement 'is_same<zmq::secure_allocator_t<unsigned char>, std::allocator<unsigned char>>::value': [allocator.requirements] states that rebinding an allocator to the same type should result in the original allocator
static_assert(is_same<allocator_type, __rebind_alloc<__alloc_traits, value_type> >::value,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./src/curve_client_tools.hpp:64:60: note: in instantiation of template class 'std::vector<unsigned char, zmq::secure_allocator_t<unsigned char>>' requested here
std::vector<uint8_t, secure_allocator_t<uint8_t> > hello_plaintext (
^
./src/curve_client_tools.hpp:110:60: error: no matching constructor for initialization of 'std::vector<uint8_t, secure_allocator_t<uint8_t>>' (aka 'vector<unsigned char, secure_allocator_t<unsigned char>>')
std::vector<uint8_t, secure_allocator_t<uint8_t> > welcome_plaintext (
^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/vector:348:28: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'int' to 'const std::vector<unsigned char, zmq::secure_allocator_t<unsigned char>>' for 1st argument
class _LIBCPP_TEMPLATE_VIS vector
^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/vector:348:28: note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'int' to 'std::vector<unsigned char, zmq::secure_allocator_t<unsigned char>>' for 1st argument
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/vector:348:28: note: candidate constructor (the implicit default constructor) not viable: requires 0 arguments, but 1 was provided
In file included from src/curve_client.cpp:38:
In file included from ./src/curve_client.hpp:37:
./src/curve_client_tools.hpp:121:53: error: type 'std::vector<uint8_t, secure_allocator_t<uint8_t>>' (aka 'vector<unsigned char, secure_allocator_t<unsigned char>>') does not provide a subscript operator
int rc = crypto_box_open (&welcome_plaintext[0], welcome_box,
~~~~~~~~~~~~~~~~~^~
./src/curve_client_tools.hpp:129:47: error: type 'std::vector<uint8_t, secure_allocator_t<uint8_t>>' (aka 'vector<unsigned char, secure_allocator_t<unsigned char>>') does not provide a subscript operator
memcpy (cn_server_, &welcome_plaintext[crypto_box_ZEROBYTES], 32);
~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
./src/curve_client_tools.hpp:130:47: error: type 'std::vector<uint8_t, secure_allocator_t<uint8_t>>' (aka 'vector<unsigned char, secure_allocator_t<unsigned char>>') does not provide a subscript operator
memcpy (cn_cookie_, &welcome_plaintext[crypto_box_ZEROBYTES + 32],
~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
./src/curve_client_tools.hpp:154:60: error: no matching constructor for initialization of 'std::vector<uint8_t, secure_allocator_t<uint8_t>>' (aka 'vector<unsigned char, secure_allocator_t<unsigned char>>')
std::vector<uint8_t, secure_allocator_t<uint8_t> > vouch_plaintext (
^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/vector:348:28: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'int' to 'const std::vector<unsigned char, zmq::secure_allocator_t<unsigned char>>' for 1st argument
class _LIBCPP_TEMPLATE_VIS vector
^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/vector:348:28: note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'int' to 'std::vector<unsigned char, zmq::secure_allocator_t<unsigned char>>' for 1st argument
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/vector:348:28: note: candidate constructor (the implicit default constructor) not viable: requires 0 arguments, but 1 was provided
In file included from src/curve_client.cpp:38:
In file included from ./src/curve_client.hpp:37:
./src/curve_client_tools.hpp:159:36: error: no member named 'begin' in 'std::vector<unsigned char, zmq::secure_allocator_t<unsigned char>>'
std::fill (vouch_plaintext.begin (),
~~~~~~~~~~~~~~~ ^
./src/curve_client_tools.hpp:160:36: error: no member named 'begin' in 'std::vector<unsigned char, zmq::secure_allocator_t<unsigned char>>'
vouch_plaintext.begin () + crypto_box_ZEROBYTES, 0);
~~~~~~~~~~~~~~~ ^
./src/curve_client_tools.hpp:161:33: error: type 'std::vector<uint8_t, secure_allocator_t<uint8_t>>' (aka 'vector<unsigned char, secure_allocator_t<unsigned char>>') does not provide a subscript operator
memcpy (&vouch_plaintext[crypto_box_ZEROBYTES], cn_public_, 32);
~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
./src/curve_client_tools.hpp:162:33: error: type 'std::vector<uint8_t, secure_allocator_t<uint8_t>>' (aka 'vector<unsigned char, secure_allocator_t<unsigned char>>') does not provide a subscript operator
memcpy (&vouch_plaintext[crypto_box_ZEROBYTES + 32], server_key_, 32);
~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
./src/curve_client_tools.hpp:169:50: error: type 'std::vector<uint8_t, secure_allocator_t<uint8_t>>' (aka 'vector<unsigned char, secure_allocator_t<unsigned char>>') does not provide a subscript operator
crypto_box (vouch_box, &vouch_plaintext[0], vouch_plaintext.size (),
~~~~~~~~~~~~~~~^~
./src/curve_client_tools.hpp:169:71: error: no member named 'size' in 'std::vector<unsigned char, zmq::secure_allocator_t<unsigned char>>'
crypto_box (vouch_box, &vouch_plaintext[0], vouch_plaintext.size (),
~~~~~~~~~~~~~~~ ^
./src/curve_client_tools.hpp:177:60: error: no matching constructor for initialization of 'std::vector<uint8_t, secure_allocator_t<uint8_t>>' (aka 'vector<unsigned char, secure_allocator_t<unsigned char>>')
std::vector<uint8_t, secure_allocator_t<uint8_t> > initiate_plaintext (
^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/vector:348:28: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'size_t' (aka 'unsigned long') to 'const std::vector<unsigned char, zmq::secure_allocator_t<unsigned char>>' for 1st argument
class _LIBCPP_TEMPLATE_VIS vector
^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/vector:348:28: note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'size_t' (aka 'unsigned long') to 'std::vector<unsigned char, zmq::secure_allocator_t<unsigned char>>' for 1st argument
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/vector:348:28: note: candidate constructor (the implicit default constructor) not viable: requires 0 arguments, but 1 was provided
In file included from src/curve_client.cpp:38:
In file included from ./src/curve_client.hpp:37:
./src/curve_client_tools.hpp:181:39: error: no member named 'begin' in 'std::vector<unsigned char, zmq::secure_allocator_t<unsigned char>>'
std::fill (initiate_plaintext.begin (),
~~~~~~~~~~~~~~~~~~ ^
./src/curve_client_tools.hpp:182:39: error: no member named 'begin' in 'std::vector<unsigned char, zmq::secure_allocator_t<unsigned char>>'
initiate_plaintext.begin () + crypto_box_ZEROBYTES, 0);
~~~~~~~~~~~~~~~~~~ ^
./src/curve_client_tools.hpp:183:36: error: type 'std::vector<uint8_t, secure_allocator_t<uint8_t>>' (aka 'vector<unsigned char, secure_allocator_t<unsigned char>>') does not provide a subscript operator
memcpy (&initiate_plaintext[crypto_box_ZEROBYTES], public_key_, 32);
~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
./src/curve_client_tools.hpp:184:36: error: type 'std::vector<uint8_t, secure_allocator_t<uint8_t>>' (aka 'vector<unsigned char, secure_allocator_t<unsigned char>>') does not provide a subscript operator
memcpy (&initiate_plaintext[crypto_box_ZEROBYTES + 32], vouch_nonce + 8,
~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
./src/curve_client_tools.hpp:186:36: error: type 'std::vector<uint8_t, secure_allocator_t<uint8_t>>' (aka 'vector<unsigned char, secure_allocator_t<unsigned char>>') does not provide a subscript operator
memcpy (&initiate_plaintext[crypto_box_ZEROBYTES + 48],
~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
./src/curve_client_tools.hpp:189:40: error: type 'std::vector<uint8_t, secure_allocator_t<uint8_t>>' (aka 'vector<unsigned char, secure_allocator_t<unsigned char>>') does not provide a subscript operator
memcpy (&initiate_plaintext[crypto_box_ZEROBYTES + 48 + 80],
~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
make[1]: *** [src/libzmq_la-curve_client.lo] Error 1
make: *** [all-recursive] Error 1
I think libzmq 4.3.5 won't have this issue simply because the affected feature has been removed. This, in turn, is part of what's blocking pyzmq's upgrade to 4.3.5, since it's a major breaking change in pyzmq distributions to lose CURVE support. So I have to figure out how to bundle libsodium and replace the abandoned Windows builds of libzmq, which don't exist for 4.3.5 before pyzmq can update the bundled libzmq. So I think this will be closed by #1903.
if I use brew install zeromq
first ,will ZMQ_PREFIX=bundled
works if I want to build an extension?
Ah, no, it should link to the installed libzmq (omit ZMQ_PREFIX=bundled
, or it will ignore the installed libzmq). But that's usually ought to be a good thing. If you want to repack it for redistribution, use delocate
, which will bring the linked libzmq into the wheel. This will ~always produce better results than the bundled libzmq, which is used only as a fallback when the a desirable 'real' build of libzmq is unavailable.
I am also seeing this error on fedora 38
✘ 11:27:28 [yennefer] $ g++ -std=c++17 -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -DZMQ_HAVE_CURVE=1 -DZMQ_USE_TWEETNACL=1 -DZMQ_USE_EPOLL=1 -DZMQ_IOTHREADS_USE_EPOLL=1 -DZMQ_POLL_BA
SED_ON_POLL=1 -Ibundled/zeromq/include -Ibundled -I/home/tcaswell/.virtualenvs/bleeding/include -I/home/tcaswell/.pybuild/bleeding/include/python3.11 -c bundled/zeromq/src/curve_client.cpp -
o build/temp.linux-x86_64-cpython-311/bundled/zeromq/src/curve_client.o
In file included from /usr/include/c++/13/ext/alloc_traits.h:34,
from /usr/include/c++/13/bits/stl_tree.h:67,
from /usr/include/c++/13/map:62,
from bundled/zeromq/src/metadata.hpp:33,
from bundled/zeromq/src/msg.hpp:40,
from bundled/zeromq/src/curve_client.cpp:35:
/usr/include/c++/13/bits/alloc_traits.h: In instantiation of ‘struct std::__allocator_traits_base::__rebind<zmq::secure_allocator_t<unsigned char>, unsigned char, void>’:
/usr/include/c++/13/bits/alloc_traits.h:94:11: required by substitution of ‘template<class _Alloc, class _Up> using std::__alloc_rebind = typename std::__allocator_traits_base::__rebind<_Alloc, _Up>::type [with _Alloc = zmq::secure_allocator_t<unsigned char>; _Up = unsigned char]’
/usr/include/c++/13/bits/alloc_traits.h:228:8: required by substitution of ‘template<class _Alloc> template<class _Tp> using std::allocator_traits< <template-parameter-1-1> >::rebind_alloc = std::__alloc_rebind<_Alloc, _Tp> [with _Tp = unsigned char; _Alloc = zmq::secure_allocator_t<unsigned char>]’
/usr/include/c++/13/ext/alloc_traits.h:126:65: required from ‘struct __gnu_cxx::__alloc_traits<zmq::secure_allocator_t<unsigned char>, unsigned char>::rebind<unsigned char>’
/usr/include/c++/13/bits/stl_vector.h:88:21: required from ‘struct std::_Vector_base<unsigned char, zmq::secure_allocator_t<unsigned char> >’
/usr/include/c++/13/bits/stl_vector.h:425:11: required from ‘class std::vector<unsigned char, zmq::secure_allocator_t<unsigned char> >’
bundled/zeromq/src/curve_client_tools.hpp:64:76: required from here
/usr/include/c++/13/bits/alloc_traits.h:70:31: error: static assertion failed: allocator_traits<A>::rebind_alloc<A::value_type> must be A
70 | _Tp>::value,
| ^~~~~
/usr/include/c++/13/bits/alloc_traits.h:70:31: note: ‘std::integral_constant<bool, false>::value’ evaluates to false
Confirm that installing zeromq-devel avoids the problem.
$ gcc --version
gcc (GCC) 13.2.1 20231011 (Red Hat 13.2.1-4)
Copyright (C) 2023 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
@minrk , Im trying to install pyzmq==25.1.1
from pypy's pip; Seeing similar error while building -
Building wheels for collected packages: markupsafe, pyzmq, pyyaml
Building wheel for markupsafe (setup.py) ... done
Created wheel for markupsafe: filename=MarkupSafe-2.1.3-py3-none-any.whl size=9757 sha256=31792d60bed54440b681565f3e13d5855d414d548d08842bf9002db50a3b92c3
Stored in directory: /Users/ram/Library/Caches/pip/wheels/59/24/cf/b50b90b1cc2b8e08bf70c3e78590844039a1266fb95dcd9a6f
Building wheel for pyzmq (pyproject.toml) ... error
error: subprocess-exited-with-error
× Building wheel for pyzmq (pyproject.toml) did not run successfully.
│ exit code: 1
╰─> [251 lines of output]
running bdist_wheel
running build
running build_py
copying zmq/_typing.py -> build/lib.macosx-10.9-arm64-pypy310/zmq
copying zmq/error.py -> build/lib.macosx-10.9-arm64-pypy310/zmq
copying zmq/_future.py -> build/lib.macosx-10.9-arm64-pypy310/zmq
copying zmq/asyncio.py -> build/lib.macosx-10.9-arm64-pypy310/zmq
copying zmq/constants.py -> build/lib.macosx-10.9-arm64-pypy310/zmq
copying zmq/__init__.py -> build/lib.macosx-10.9-arm64-pypy310/zmq
copying zmq/decorators.py -> build/lib.macosx-10.9-arm64-pypy310/zmq
creating build/lib.macosx-10.9-arm64-pypy310/zmq/green
copying zmq/green/device.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/green
copying zmq/green/__init__.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/green
copying zmq/green/core.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/green
copying zmq/green/poll.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/green
creating build/lib.macosx-10.9-arm64-pypy310/zmq/green/eventloop
copying zmq/green/eventloop/__init__.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/green/eventloop
copying zmq/green/eventloop/ioloop.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/green/eventloop
copying zmq/green/eventloop/zmqstream.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/green/eventloop
creating build/lib.macosx-10.9-arm64-pypy310/zmq/sugar
copying zmq/sugar/version.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/sugar
copying zmq/sugar/attrsettr.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/sugar
copying zmq/sugar/__init__.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/sugar
copying zmq/sugar/stopwatch.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/sugar
copying zmq/sugar/context.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/sugar
copying zmq/sugar/frame.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/sugar
copying zmq/sugar/tracker.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/sugar
copying zmq/sugar/poll.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/sugar
copying zmq/sugar/socket.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/sugar
creating build/lib.macosx-10.9-arm64-pypy310/zmq/auth
copying zmq/auth/thread.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/auth
copying zmq/auth/certs.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/auth
copying zmq/auth/asyncio.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/auth
copying zmq/auth/__init__.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/auth
copying zmq/auth/ioloop.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/auth
copying zmq/auth/base.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/auth
creating build/lib.macosx-10.9-arm64-pypy310/zmq/tests
copying zmq/tests/test_ioloop.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/tests
copying zmq/tests/test_version.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/tests
copying zmq/tests/test_monitor.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/tests
copying zmq/tests/test_security.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/tests
copying zmq/tests/conftest.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/tests
copying zmq/tests/test_decorators.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/tests
copying zmq/tests/test_etc.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/tests
copying zmq/tests/test_pubsub.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/tests
copying zmq/tests/test_auth.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/tests
copying zmq/tests/test_includes.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/tests
copying zmq/tests/test_mypy.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/tests
copying zmq/tests/test_future.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/tests
copying zmq/tests/test_zmqstream.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/tests
copying zmq/tests/test_message.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/tests
copying zmq/tests/test_cffi_backend.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/tests
copying zmq/tests/test_imports.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/tests
copying zmq/tests/test_socket.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/tests
copying zmq/tests/test_draft.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/tests
copying zmq/tests/__init__.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/tests
copying zmq/tests/test_asyncio.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/tests
copying zmq/tests/test_log.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/tests
copying zmq/tests/test_ssh.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/tests
copying zmq/tests/test_cython.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/tests
copying zmq/tests/test_retry_eintr.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/tests
copying zmq/tests/test_z85.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/tests
copying zmq/tests/test_error.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/tests
copying zmq/tests/test_reqrep.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/tests
copying zmq/tests/test_ext.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/tests
copying zmq/tests/test_multipart.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/tests
copying zmq/tests/test_context.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/tests
copying zmq/tests/test_proxy_steerable.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/tests
copying zmq/tests/test_device.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/tests
copying zmq/tests/test_pair.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/tests
copying zmq/tests/test_constants.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/tests
copying zmq/tests/test_monqueue.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/tests
copying zmq/tests/test_poll.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/tests
copying zmq/tests/test_win32_shim.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/tests
creating build/lib.macosx-10.9-arm64-pypy310/zmq/utils
copying zmq/utils/strtypes.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/utils
copying zmq/utils/monitor.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/utils
copying zmq/utils/__init__.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/utils
copying zmq/utils/win32.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/utils
copying zmq/utils/interop.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/utils
copying zmq/utils/jsonapi.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/utils
copying zmq/utils/z85.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/utils
copying zmq/utils/garbage.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/utils
creating build/lib.macosx-10.9-arm64-pypy310/zmq/backend
copying zmq/backend/__init__.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/backend
copying zmq/backend/select.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/backend
creating build/lib.macosx-10.9-arm64-pypy310/zmq/backend/cffi
copying zmq/backend/cffi/_poll.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/backend/cffi
copying zmq/backend/cffi/error.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/backend/cffi
copying zmq/backend/cffi/__init__.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/backend/cffi
copying zmq/backend/cffi/message.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/backend/cffi
copying zmq/backend/cffi/context.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/backend/cffi
copying zmq/backend/cffi/utils.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/backend/cffi
copying zmq/backend/cffi/socket.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/backend/cffi
copying zmq/backend/cffi/devices.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/backend/cffi
creating build/lib.macosx-10.9-arm64-pypy310/zmq/backend/cython
copying zmq/backend/cython/__init__.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/backend/cython
creating build/lib.macosx-10.9-arm64-pypy310/zmq/ssh
copying zmq/ssh/__init__.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/ssh
copying zmq/ssh/tunnel.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/ssh
copying zmq/ssh/forward.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/ssh
creating build/lib.macosx-10.9-arm64-pypy310/zmq/eventloop
copying zmq/eventloop/_deprecated.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/eventloop
copying zmq/eventloop/__init__.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/eventloop
copying zmq/eventloop/ioloop.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/eventloop
copying zmq/eventloop/future.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/eventloop
copying zmq/eventloop/zmqstream.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/eventloop
creating build/lib.macosx-10.9-arm64-pypy310/zmq/log
copying zmq/log/handlers.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/log
copying zmq/log/__init__.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/log
copying zmq/log/__main__.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/log
creating build/lib.macosx-10.9-arm64-pypy310/zmq/devices
copying zmq/devices/monitoredqueue.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/devices
copying zmq/devices/__init__.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/devices
copying zmq/devices/monitoredqueuedevice.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/devices
copying zmq/devices/proxydevice.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/devices
copying zmq/devices/basedevice.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/devices
copying zmq/devices/proxysteerabledevice.py -> build/lib.macosx-10.9-arm64-pypy310/zmq/devices
copying zmq/__init__.pyi -> build/lib.macosx-10.9-arm64-pypy310/zmq
copying zmq/py.typed -> build/lib.macosx-10.9-arm64-pypy310/zmq
copying zmq/__init__.pxd -> build/lib.macosx-10.9-arm64-pypy310/zmq
copying zmq/sugar/__init__.pyi -> build/lib.macosx-10.9-arm64-pypy310/zmq/sugar
copying zmq/tests/cython_ext.pyx -> build/lib.macosx-10.9-arm64-pypy310/zmq/tests
copying zmq/utils/buffers.pxd -> build/lib.macosx-10.9-arm64-pypy310/zmq/utils
copying zmq/utils/getpid_compat.h -> build/lib.macosx-10.9-arm64-pypy310/zmq/utils
copying zmq/utils/pyversion_compat.h -> build/lib.macosx-10.9-arm64-pypy310/zmq/utils
copying zmq/utils/zmq_compat.h -> build/lib.macosx-10.9-arm64-pypy310/zmq/utils
copying zmq/utils/mutex.h -> build/lib.macosx-10.9-arm64-pypy310/zmq/utils
copying zmq/utils/ipcmaxlen.h -> build/lib.macosx-10.9-arm64-pypy310/zmq/utils
copying zmq/utils/config.json -> build/lib.macosx-10.9-arm64-pypy310/zmq/utils
copying zmq/utils/compiler.json -> build/lib.macosx-10.9-arm64-pypy310/zmq/utils
copying zmq/backend/__init__.pyi -> build/lib.macosx-10.9-arm64-pypy310/zmq/backend
copying zmq/backend/cffi/_cdefs.h -> build/lib.macosx-10.9-arm64-pypy310/zmq/backend/cffi
copying zmq/backend/cython/message.pxd -> build/lib.macosx-10.9-arm64-pypy310/zmq/backend/cython
copying zmq/backend/cython/libzmq.pxd -> build/lib.macosx-10.9-arm64-pypy310/zmq/backend/cython
copying zmq/backend/cython/checkrc.pxd -> build/lib.macosx-10.9-arm64-pypy310/zmq/backend/cython
copying zmq/backend/cython/__init__.pxd -> build/lib.macosx-10.9-arm64-pypy310/zmq/backend/cython
copying zmq/backend/cython/context.pxd -> build/lib.macosx-10.9-arm64-pypy310/zmq/backend/cython
copying zmq/backend/cython/socket.pxd -> build/lib.macosx-10.9-arm64-pypy310/zmq/backend/cython
copying zmq/backend/cython/constant_enums.pxi -> build/lib.macosx-10.9-arm64-pypy310/zmq/backend/cython
copying zmq/devices/monitoredqueue.pxd -> build/lib.macosx-10.9-arm64-pypy310/zmq/devices
running build_ext
running configure
Using bundled libzmq
already have bundled/zeromq
already have platform.hpp
generating cffi module 'build/temp.macosx-10.9-arm64-pypy310/zmq.backend.cffi._cffi.c'
building 'zmq.libzmq' extension
creating build/temp.macosx-10.9-arm64-pypy310/buildutils
creating build/temp.macosx-10.9-arm64-pypy310/bundled
creating build/temp.macosx-10.9-arm64-pypy310/bundled/zeromq
creating build/temp.macosx-10.9-arm64-pypy310/bundled/zeromq/src
g++ -pthread -arch arm64 -std=c++11 -pthread -arch arm64 -DNDEBUG -O2 -I/usr/local/opt/openjdk@11/include -fPIC -DZMQ_HAVE_CURVE=1 -DZMQ_USE_TWEETNACL=1 -DZMQ_USE_KQUEUE=1 -DZMQ_IOTHREADS_USE_KQUEUE=1 -DZMQ_POLL_BASED_ON_POLL=1 -Ibundled/zeromq/include -Ibundled -I/Users/ram/ram/apps/pypy/pypy3.10-v7.3.13-macos_arm64/include/pypy3.10 -c buildutils/initlibzmq.cpp -o build/temp.macosx-10.9-arm64-pypy310/buildutils/initlibzmq.o
g++ -pthread -arch arm64 -std=c++11 -pthread -arch arm64 -DNDEBUG -O2 -I/usr/local/opt/openjdk@11/include -fPIC -DZMQ_HAVE_CURVE=1 -DZMQ_USE_TWEETNACL=1 -DZMQ_USE_KQUEUE=1 -DZMQ_IOTHREADS_USE_KQUEUE=1 -DZMQ_POLL_BASED_ON_POLL=1 -Ibundled/zeromq/include -Ibundled -I/Users/ram/ram/apps/pypy/pypy3.10-v7.3.13-macos_arm64/include/pypy3.10 -c bundled/zeromq/src/address.cpp -o build/temp.macosx-10.9-arm64-pypy310/bundled/zeromq/src/address.o
g++ -pthread -arch arm64 -std=c++11 -pthread -arch arm64 -DNDEBUG -O2 -I/usr/local/opt/openjdk@11/include -fPIC -DZMQ_HAVE_CURVE=1 -DZMQ_USE_TWEETNACL=1 -DZMQ_USE_KQUEUE=1 -DZMQ_IOTHREADS_USE_KQUEUE=1 -DZMQ_POLL_BASED_ON_POLL=1 -Ibundled/zeromq/include -Ibundled -I/Users/ram/ram/apps/pypy/pypy3.10-v7.3.13-macos_arm64/include/pypy3.10 -c bundled/zeromq/src/channel.cpp -o build/temp.macosx-10.9-arm64-pypy310/bundled/zeromq/src/channel.o
g++ -pthread -arch arm64 -std=c++11 -pthread -arch arm64 -DNDEBUG -O2 -I/usr/local/opt/openjdk@11/include -fPIC -DZMQ_HAVE_CURVE=1 -DZMQ_USE_TWEETNACL=1 -DZMQ_USE_KQUEUE=1 -DZMQ_IOTHREADS_USE_KQUEUE=1 -DZMQ_POLL_BASED_ON_POLL=1 -Ibundled/zeromq/include -Ibundled -I/Users/ram/ram/apps/pypy/pypy3.10-v7.3.13-macos_arm64/include/pypy3.10 -c bundled/zeromq/src/client.cpp -o build/temp.macosx-10.9-arm64-pypy310/bundled/zeromq/src/client.o
g++ -pthread -arch arm64 -std=c++11 -pthread -arch arm64 -DNDEBUG -O2 -I/usr/local/opt/openjdk@11/include -fPIC -DZMQ_HAVE_CURVE=1 -DZMQ_USE_TWEETNACL=1 -DZMQ_USE_KQUEUE=1 -DZMQ_IOTHREADS_USE_KQUEUE=1 -DZMQ_POLL_BASED_ON_POLL=1 -Ibundled/zeromq/include -Ibundled -I/Users/ram/ram/apps/pypy/pypy3.10-v7.3.13-macos_arm64/include/pypy3.10 -c bundled/zeromq/src/clock.cpp -o build/temp.macosx-10.9-arm64-pypy310/bundled/zeromq/src/clock.o
g++ -pthread -arch arm64 -std=c++11 -pthread -arch arm64 -DNDEBUG -O2 -I/usr/local/opt/openjdk@11/include -fPIC -DZMQ_HAVE_CURVE=1 -DZMQ_USE_TWEETNACL=1 -DZMQ_USE_KQUEUE=1 -DZMQ_IOTHREADS_USE_KQUEUE=1 -DZMQ_POLL_BASED_ON_POLL=1 -Ibundled/zeromq/include -Ibundled -I/Users/ram/ram/apps/pypy/pypy3.10-v7.3.13-macos_arm64/include/pypy3.10 -c bundled/zeromq/src/ctx.cpp -o build/temp.macosx-10.9-arm64-pypy310/bundled/zeromq/src/ctx.o
g++ -pthread -arch arm64 -std=c++11 -pthread -arch arm64 -DNDEBUG -O2 -I/usr/local/opt/openjdk@11/include -fPIC -DZMQ_HAVE_CURVE=1 -DZMQ_USE_TWEETNACL=1 -DZMQ_USE_KQUEUE=1 -DZMQ_IOTHREADS_USE_KQUEUE=1 -DZMQ_POLL_BASED_ON_POLL=1 -Ibundled/zeromq/include -Ibundled -I/Users/ram/ram/apps/pypy/pypy3.10-v7.3.13-macos_arm64/include/pypy3.10 -c bundled/zeromq/src/curve_client.cpp -o build/temp.macosx-10.9-arm64-pypy310/bundled/zeromq/src/curve_client.o
In file included from bundled/zeromq/src/curve_client.cpp:35:
In file included from bundled/zeromq/src/msg.hpp:40:
In file included from bundled/zeromq/src/metadata.hpp:33:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/map:2356:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/functional:515:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/__functional/boyer_moore_searcher.h:26:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/vector:372:5: error: static assertion failed due to requirement 'is_same<zmq::secure_allocator_t<unsigned char>, std::allocator<unsigned char>>::value': [allocator.requirements] states that rebinding an allocator to the same type should result in the original allocator
static_assert(is_same<allocator_type, __rebind_alloc<__alloc_traits, value_type> >::value,
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
bundled/zeromq/src/curve_client_tools.hpp:64:60: note: in instantiation of template class 'std::vector<unsigned char, zmq::secure_allocator_t<unsigned char>>' requested here
std::vector<uint8_t, secure_allocator_t<uint8_t> > hello_plaintext (
^
bundled/zeromq/src/curve_client_tools.hpp:110:60: error: no matching constructor for initialization of 'std::vector<uint8_t, secure_allocator_t<uint8_t>>' (aka 'vector<unsigned char, secure_allocator_t<unsigned char>>')
std::vector<uint8_t, secure_allocator_t<uint8_t> > welcome_plaintext (
^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/vector:348:28: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'int' to 'const std::vector<unsigned char, zmq::secure_allocator_t<unsigned char>>' for 1st argument
class _LIBCPP_TEMPLATE_VIS vector
^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/vector:348:28: note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'int' to 'std::vector<unsigned char, zmq::secure_allocator_t<unsigned char>>' for 1st argument
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/vector:348:28: note: candidate constructor (the implicit default constructor) not viable: requires 0 arguments, but 1 was provided
In file included from bundled/zeromq/src/curve_client.cpp:38:
In file included from bundled/zeromq/src/curve_client.hpp:37:
bundled/zeromq/src/curve_client_tools.hpp:121:53: error: type 'std::vector<uint8_t, secure_allocator_t<uint8_t>>' (aka 'vector<unsigned char, secure_allocator_t<unsigned char>>') does not provide a subscript operator
int rc = crypto_box_open (&welcome_plaintext[0], welcome_box,
~~~~~~~~~~~~~~~~~^~
bundled/zeromq/src/curve_client_tools.hpp:129:47: error: type 'std::vector<uint8_t, secure_allocator_t<uint8_t>>' (aka 'vector<unsigned char, secure_allocator_t<unsigned char>>') does not provide a subscript operator
memcpy (cn_server_, &welcome_plaintext[crypto_box_ZEROBYTES], 32);
~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
bundled/zeromq/src/curve_client_tools.hpp:130:47: error: type 'std::vector<uint8_t, secure_allocator_t<uint8_t>>' (aka 'vector<unsigned char, secure_allocator_t<unsigned char>>') does not provide a subscript operator
memcpy (cn_cookie_, &welcome_plaintext[crypto_box_ZEROBYTES + 32],
~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
bundled/zeromq/src/curve_client_tools.hpp:154:60: error: no matching constructor for initialization of 'std::vector<uint8_t, secure_allocator_t<uint8_t>>' (aka 'vector<unsigned char, secure_allocator_t<unsigned char>>')
std::vector<uint8_t, secure_allocator_t<uint8_t> > vouch_plaintext (
^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/vector:348:28: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'int' to 'const std::vector<unsigned char, zmq::secure_allocator_t<unsigned char>>' for 1st argument
class _LIBCPP_TEMPLATE_VIS vector
^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/vector:348:28: note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'int' to 'std::vector<unsigned char, zmq::secure_allocator_t<unsigned char>>' for 1st argument
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/vector:348:28: note: candidate constructor (the implicit default constructor) not viable: requires 0 arguments, but 1 was provided
In file included from bundled/zeromq/src/curve_client.cpp:38:
In file included from bundled/zeromq/src/curve_client.hpp:37:
bundled/zeromq/src/curve_client_tools.hpp:159:36: error: no member named 'begin' in 'std::vector<unsigned char, zmq::secure_allocator_t<unsigned char>>'
std::fill (vouch_plaintext.begin (),
~~~~~~~~~~~~~~~ ^
bundled/zeromq/src/curve_client_tools.hpp:160:36: error: no member named 'begin' in 'std::vector<unsigned char, zmq::secure_allocator_t<unsigned char>>'
vouch_plaintext.begin () + crypto_box_ZEROBYTES, 0);
~~~~~~~~~~~~~~~ ^
bundled/zeromq/src/curve_client_tools.hpp:161:33: error: type 'std::vector<uint8_t, secure_allocator_t<uint8_t>>' (aka 'vector<unsigned char, secure_allocator_t<unsigned char>>') does not provide a subscript operator
memcpy (&vouch_plaintext[crypto_box_ZEROBYTES], cn_public_, 32);
~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
bundled/zeromq/src/curve_client_tools.hpp:162:33: error: type 'std::vector<uint8_t, secure_allocator_t<uint8_t>>' (aka 'vector<unsigned char, secure_allocator_t<unsigned char>>') does not provide a subscript operator
memcpy (&vouch_plaintext[crypto_box_ZEROBYTES + 32], server_key_, 32);
~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
bundled/zeromq/src/curve_client_tools.hpp:169:50: error: type 'std::vector<uint8_t, secure_allocator_t<uint8_t>>' (aka 'vector<unsigned char, secure_allocator_t<unsigned char>>') does not provide a subscript operator
crypto_box (vouch_box, &vouch_plaintext[0], vouch_plaintext.size (),
~~~~~~~~~~~~~~~^~
bundled/zeromq/src/curve_client_tools.hpp:169:71: error: no member named 'size' in 'std::vector<unsigned char, zmq::secure_allocator_t<unsigned char>>'
crypto_box (vouch_box, &vouch_plaintext[0], vouch_plaintext.size (),
~~~~~~~~~~~~~~~ ^
bundled/zeromq/src/curve_client_tools.hpp:177:60: error: no matching constructor for initialization of 'std::vector<uint8_t, secure_allocator_t<uint8_t>>' (aka 'vector<unsigned char, secure_allocator_t<unsigned char>>')
std::vector<uint8_t, secure_allocator_t<uint8_t> > initiate_plaintext (
^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/vector:348:28: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'size_t' (aka 'unsigned long') to 'const std::vector<unsigned char, zmq::secure_allocator_t<unsigned char>>' for 1st argument
class _LIBCPP_TEMPLATE_VIS vector
^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/vector:348:28: note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'size_t' (aka 'unsigned long') to 'std::vector<unsigned char, zmq::secure_allocator_t<unsigned char>>' for 1st argument
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/vector:348:28: note: candidate constructor (the implicit default constructor) not viable: requires 0 arguments, but 1 was provided
In file included from bundled/zeromq/src/curve_client.cpp:38:
In file included from bundled/zeromq/src/curve_client.hpp:37:
bundled/zeromq/src/curve_client_tools.hpp:181:39: error: no member named 'begin' in 'std::vector<unsigned char, zmq::secure_allocator_t<unsigned char>>'
std::fill (initiate_plaintext.begin (),
~~~~~~~~~~~~~~~~~~ ^
bundled/zeromq/src/curve_client_tools.hpp:182:39: error: no member named 'begin' in 'std::vector<unsigned char, zmq::secure_allocator_t<unsigned char>>'
initiate_plaintext.begin () + crypto_box_ZEROBYTES, 0);
~~~~~~~~~~~~~~~~~~ ^
bundled/zeromq/src/curve_client_tools.hpp:183:36: error: type 'std::vector<uint8_t, secure_allocator_t<uint8_t>>' (aka 'vector<unsigned char, secure_allocator_t<unsigned char>>') does not provide a subscript operator
memcpy (&initiate_plaintext[crypto_box_ZEROBYTES], public_key_, 32);
~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
bundled/zeromq/src/curve_client_tools.hpp:184:36: error: type 'std::vector<uint8_t, secure_allocator_t<uint8_t>>' (aka 'vector<unsigned char, secure_allocator_t<unsigned char>>') does not provide a subscript operator
memcpy (&initiate_plaintext[crypto_box_ZEROBYTES + 32], vouch_nonce + 8,
~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
bundled/zeromq/src/curve_client_tools.hpp:186:36: error: type 'std::vector<uint8_t, secure_allocator_t<uint8_t>>' (aka 'vector<unsigned char, secure_allocator_t<unsigned char>>') does not provide a subscript operator
memcpy (&initiate_plaintext[crypto_box_ZEROBYTES + 48],
~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
bundled/zeromq/src/curve_client_tools.hpp:189:40: error: type 'std::vector<uint8_t, secure_allocator_t<uint8_t>>' (aka 'vector<unsigned char, secure_allocator_t<unsigned char>>') does not provide a subscript operator
memcpy (&initiate_plaintext[crypto_box_ZEROBYTES + 48 + 80],
~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
error: command '/usr/bin/g++' failed with exit code 1
************************************************
************************************************
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for pyzmq
Building wheel for pyyaml (pyproject.toml) ... done
Created wheel for pyyaml: filename=PyYAML-6.0.1-pp310-pypy310_pp73-macosx_10_9_arm64.whl size=45374 sha256=4e9c05038e4ddb37153a43ba238a25e90b5679668c46f60d4140a6590bfa6b72
Stored in directory: /Users/ram/Library/Caches/pip/wheels/e9/a3/45/ef86dd76c0fbc91ac46889a39d4710498896fe799f860db9ad
Successfully built markupsafe pyyaml
Failed to build pyzmq
ERROR: Could not build wheels for pyzmq, which is required to install pyproject.toml-based projects
I dread it a bit, but I feel like this and the removal of tweetnacl from libzmq is going to force me to rewrite bundling to include 'proper' installation of libzmq and libsodium and building via something like scikit-build or meson. I think that will be better in the long run, but figuring out the linking on Windows is going to take a lot of trial and error, and certainly reintroduce lots of build failures fixed over the years on less common platforms.
If anyone with C++ knowledge knows what's changed with recent compilers to introduce these failures and what flags and/or patches will keep us limping along while I figure that out, it would be much appreciated and take a lot of pressure off.
upstream fix appears to be https://github.com/zeromq/libzmq/pull/4480 I'll see if I can apply a patch to the bundled sources
If anyone affected can test with the sdists from this run and confirm that it fixes the issue, I can merge #1913 and make a 25.1.2 with it.
@minrk , Perfect; Im able to build the wheel with latest sdist
. thanks!
@iamshreeram thanks! I'll get on making 25.1.2 ASAP, should be Monday at the latest.
this should be fixed with last month's 25.1.2
Please use this template for reporting suspected bugs or requests for help.
Issue description
when build with no=binary and with bundled run
ZMQ_PREFIX=bundled pip install --no-binary pyzmq pyzmq
shows error:
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/vector:372:5: error: static assertion failed due to requirement 'is_same<zmq::secure_allocator_t<unsigned char>, std::allocator<unsigned char>>::value': [allocator.requirements] states that rebinding an allocator to the same type should result in the original allocato
rEnvironment