compiling zmq draft - ComPair/ComPair-tracker-FPGA GitHub Wiki

Compiling ZMQ Draft Version

Why compile the draft version?

The ZMQ "draft version" contains unstable but useful features. Notably it includes support for UDP.

We'll focus development on libzmq-4.3.2; unstable here means the API might change in future versions for the "draft" interfaces, but we'll just use 4.3.2 for ComPair.

Building libzmq-4.3.2

./configure --enable-drafts --prefix=$LIBZMQ_INSTALL_PREFIX
make && make install

Building pyzmq

If you want to have pyzmq with UDP/other-draft-feature support, you will need to build pyzmq yourself. No pip install. Sad face emoticon.

  • Download pyzmq: https://github.com/zeromq/pyzmq
  • Configure to use drafts, and point to where you installed libzmq. In my example, I installed to $LIBZMQ_INSTALL_PREFIX
python3 setup.py install --enable-drafts --libzmq=$LIBZMQ_INSTALL_PREFIX --prefix=PYZMQ_INSTALL_PREFIX

c++ bindings?

cppzmq provides a header-only binding to zmq. This is nice... no linking or compiling, just make sure the single header file is in your include path.

Source is available at https://github.com/zeromq/cppzmq.

If you want cppzmq to include the draft stuff, make sure that somewhere before including <zmq.hpp> that you have the following line:

#define ZMQ_BUILD_DRAFT_API

You could also edit your zmq.hpp file to define the macro if you feel so bold.

⚠️ **GitHub.com Fallback** ⚠️