Skip to content

C++ ZMQ transport doesn't compile (zmq.hpp included inside namespace concore_base) #632

Open

Description

@Sahil-u07

Building a C++ node with -DCONCORE_USE_ZMQ fails on dev, for both concore.hpp and concoredocker.hpp. concore_base.hpp includes <zmq.hpp> inside namespace concore_base, so the standard headers it pulls in end up in that namespace and g++ stops with ~740 errors:

In file included from /usr/include/zmq.hpp:118,
                 from concore_base.hpp:411,
                 from concore.hpp:35,
                 from my_node.cpp:1:
/usr/include/c++/14/array:62:29: error: '__is_swappable' does not name a type

Nothing in CI builds the C++ side with ZMQ turned on, so it went unnoticed.

Once it builds, the C++ REQ socket also has the problem Java (#577) and Python (#599) had: after one missed reply every later send fails with "Operation cannot be accomplished in current state".

I have a fix with tests and a CI step for this, I'll open a PR.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions