Hi Bill,

adding -DENABLE_DRAFTS=On does not help:

g++ Discovery.cpp -lzmq -DZMQ_BUILD_DRAFT_API=1 -DENABLE_DRAFTS=On -o test

I also checked my installed libraries with "nm -gC <library | grep zmq_msgs_group":

/usr/lib/x86_64-linux-gnu/libzmq.a -> match
/usr/lib/x86_64-linux-gnu/libzmq.so -> no match
/usr/lib/x86_64-linux-gnu/libzmq.so.5 -> no match
/usr/lib/x86_64-linux-gnu/libzmq.so.5.1.5 -> no match

I am not so into this dynamic and static library stuff, but my build chain is linking agains "/usr/lib/x86_64-linux-gnu/libzmq.so". Is that the problem? How do I force it on command line to link against the static version.

Kind Regards

  Stephan


On 26.09.2018 16:08, Bill Torpey wrote:
Hi Stephan:

The RADIO/DISH sockets are considered DRAFT, which is probably why you’re getting these errors.

There are a couple of possibilities:

- You may be linking against a version of libzmq that doesn’t include the draft APIs.  In order to build with draft support, the build needs to specify "-DENABLE_DRAFTS=On” on the cmake command line.  Make sure your libzmq was built with support for the draft APIs.


- You also need to enable draft APIs in your code, similar to following:

#define ZMQ_BUILD_DRAFT_API
#include <zmq.h>

The #define makes the draft APIs visible to your code.

(Never mind — you’re already doing this on the compile command).

Hope this helps.

Bill

On Sep 26, 2018, at 9:13 AM, Stephan again <[email protected] <mailto:[email protected]>> wrote:

Hi,

I asked this question/issue one and a half year ago (https://lists.zeromq.org/mailman/private/zeromq-dev/2017-January/031309.html). The difference is that I now would like to use zeromq (draft api) version 4.2.5 under Ubuntu 18.04.

My minimal (not) working example can be found here: https://gist.github.com/StephanOpfer/5b9f3f76e6610536078cb9c16072aac9

Compiling it with this command:

    g++ Discovery.cpp -lzmq -DZMQ_BUILD_DRAFT_API=1 -o test

produces this:

    /tmp/ccUwelWs.o: In function `msg_send(zmq_msg_t*, void*, char const*, char const*)':     Discovery.cpp:(.text+0x8e): undefined reference to `zmq_msg_set_group'     /tmp/ccUwelWs.o: In function `msg_recv_cmp(zmq_msg_t*, void*, char const*, char const*)':
    Discovery.cpp:(.text+0x148): undefined reference to `zmq_msg_group'
    /tmp/ccUwelWs.o: In function `main':
    Discovery.cpp:(.text+0x30e): undefined reference to `zmq_leave'
    Discovery.cpp:(.text+0x37f): undefined reference to `zmq_join'
    Discovery.cpp:(.text+0x3c3): undefined reference to `zmq_join'
    Discovery.cpp:(.text+0x407): undefined reference to `zmq_join'
    Discovery.cpp:(.text+0x57c): undefined reference to `zmq_join'
    Discovery.cpp:(.text+0x668): undefined reference to `zmq_leave'
    collect2: error: ld returned 1 exit status

Any help is welcome. :)

Kind Regards

  Stephan


_______________________________________________
zeromq-dev mailing list
[email protected] <mailto:[email protected]>
https://lists.zeromq.org/mailman/listinfo/zeromq-dev



_______________________________________________
zeromq-dev mailing list
[email protected]
https://lists.zeromq.org/mailman/listinfo/zeromq-dev

_______________________________________________
zeromq-dev mailing list
[email protected]
https://lists.zeromq.org/mailman/listinfo/zeromq-dev

Reply via email to