Jake is correct — the ENABLE_DRAFTS flag is used when *building* ZeromMQ, not when linking against the library.
Where did your ZeroMQ come from? Did you build it from source, or take a pre-packaged build? If the latter, it was likely built *without* draft support, and you will need to install a different package that was built *with* draft support. > On Sep 26, 2018, at 10:55 AM, Jake <jake.c...@gmail.com> wrote: > > ZeroMQ itself needs to be compiled with ENABLE_DRAFTS in CMake. You've added > it to the compiler flags when building your own application. Did you compile > ZeroMQ yourself or are you using a distro-provided version? > > For the static library, one way is to give the full path to the .a file > instead of using -lzmq. gcc default behavior prefers the shared object when > both are present. > > -Jake > > > On Wed, Sep 26, 2018 at 10:51 AM Stephan again <op...@vs.uni-kassel.de > <mailto:op...@vs.uni-kassel.de>> wrote: > 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 <op...@vs.uni-kassel.de >>> <mailto:op...@vs.uni-kassel.de>> 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 >>> >>> <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 >>> <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 >>> zeromq-dev@lists.zeromq.org <mailto:zeromq-dev@lists.zeromq.org> >>> https://lists.zeromq.org/mailman/listinfo/zeromq-dev >>> <https://lists.zeromq.org/mailman/listinfo/zeromq-dev> >> >> >> >> _______________________________________________ >> zeromq-dev mailing list >> zeromq-dev@lists.zeromq.org <mailto:zeromq-dev@lists.zeromq.org> >> https://lists.zeromq.org/mailman/listinfo/zeromq-dev >> <https://lists.zeromq.org/mailman/listinfo/zeromq-dev> > > _______________________________________________ > zeromq-dev mailing list > zeromq-dev@lists.zeromq.org <mailto:zeromq-dev@lists.zeromq.org> > https://lists.zeromq.org/mailman/listinfo/zeromq-dev > <https://lists.zeromq.org/mailman/listinfo/zeromq-dev> > _______________________________________________ > zeromq-dev mailing list > zeromq-dev@lists.zeromq.org > https://lists.zeromq.org/mailman/listinfo/zeromq-dev
_______________________________________________ zeromq-dev mailing list zeromq-dev@lists.zeromq.org https://lists.zeromq.org/mailman/listinfo/zeromq-dev