Giter Site home page Giter Site logo

Comments (11)

minrk avatar minrk commented on June 2, 2024

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.

from pyzmq.

eastonsuo avatar eastonsuo commented on June 2, 2024

if I use brew install zeromq first ,will ZMQ_PREFIX=bundled works if I want to build an extension?

from pyzmq.

minrk avatar minrk commented on June 2, 2024

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.

from pyzmq.

tacaswell avatar tacaswell commented on June 2, 2024

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.


from pyzmq.

iamshreeram avatar iamshreeram commented on June 2, 2024

@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

from pyzmq.

minrk avatar minrk commented on June 2, 2024

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.

from pyzmq.

minrk avatar minrk commented on June 2, 2024

upstream fix appears to be zeromq/libzmq#4480 I'll see if I can apply a patch to the bundled sources

from pyzmq.

minrk avatar minrk commented on June 2, 2024

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.

from pyzmq.

iamshreeram avatar iamshreeram commented on June 2, 2024

@minrk , Perfect; Im able to build the wheel with latest sdist. thanks!

from pyzmq.

minrk avatar minrk commented on June 2, 2024

@iamshreeram thanks! I'll get on making 25.1.2 ASAP, should be Monday at the latest.

from pyzmq.

minrk avatar minrk commented on June 2, 2024

this should be fixed with last month's 25.1.2

from pyzmq.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.