[zeromq-dev] ZeroMQ and NORM

Brian Adamson brian.adamson at nrl.navy.mil
Wed Mar 11 18:29:27 CET 2015


As I think MinRF is getting at here, you need to make sure your pyzmq you are using is loading the libzmq that you built/installed with the NORM extension.  On my systems, I had to download and install pyzmq from source code instead of one the prebuilt packages that assumed a dependency on an existing libzmq package instead of what you are building yourself.  In a nutshell, I built (with norm) and installed the github libzmq and then separately downloaded pyzmq and used its “python setup.py install” approach to install it from source.  I also had to make sure I didn’t have pyzmq installed some other way since you can end up with other packages on your systems that want to install pyzmq in a standard way since they have their own dependencies upon it.

Note the current GitHub libzmq is 4.2.0.  If your system is reporting version 3.2.5, it’s likely you have a conflicting (without norm and hence the error) version of libzmq installed that pyzmq is finding instead of the one you want.

best regards,

Brian


> On Mar 11, 2015, at 12:54 PM, MinRK <benjaminrk at gmail.com> wrote:
> 
> How did you install pyzmq? What OS is this?
> 
> -MinRK
> 
> On Wed, Mar 11, 2015 at 7:03 AM, Adam Najman <najman at gmail.com <mailto:najman at gmail.com>> wrote:
> I'm trying to establish a NORM connection using ZeroMQ as detailed here:
> 
> http://zeromq.org/topics:norm-protocol-transport <http://zeromq.org/topics:norm-protocol-transport>
> I've already built NORM and ZeroMQ with support for norm using ./configure –with-norm=/path/to/norm.
> 
> The code I'm trying is as follows:
> 
> #Subscriber
> import zmq
> context = zmq.Context()
> socket = context.socket(zmq.SUB)
> socket.bind("norm://224.1.2.3:5556 <http://224.1.2.3:5556/>")
> socket.setsockopt(zmq.SUBSCRIBE, "ZMQ-Test")
> while True:
>     string = socket.recv()
>     print string
> 
> #Publisher
> import zmq
> import time
> context = zmq.Context()
> socket = context.socket(zmq.PUB)
> socket.connect("norm://224.1.2.3:5556 <http://224.1.2.3:5556/>")
> i = 1
> while True:
>     topic = "ZMQ-Test"
>     message = "Hello, NORM " + str(i) + " …"
>     socket.send("%s %s" % (topic, message))
>     i += 1
>     time.sleep(1)
> Whenever I run either of these, I get an error message:
> 
> Traceback (most recent call last):
>   File "pub.py", line 5, in <module>
>     socket.connect("norm://224.1.2.3:5556 <http://224.1.2.3:5556/>")
>   File "zmq/backend/cython/socket.pyx", line 471, in zmq.backend.cython.socket.Socket.connect (zmq/backend/cython/socket.c:4295)
> zmq.error.ZMQError: Protocol not supported
> I've tried re-installing everything and building everything from scratch, including NORM ZeroMQ and PyZMQ. Can anyone help with this issue? Python Version: 2.7.9 NORM Version: 1.5b4 ZeroMQ Version: 3.2.5
> 
> 
> _______________________________________________
> zeromq-dev mailing list
> zeromq-dev at lists.zeromq.org <mailto:zeromq-dev at lists.zeromq.org>
> http://lists.zeromq.org/mailman/listinfo/zeromq-dev <http://lists.zeromq.org/mailman/listinfo/zeromq-dev>
> 
> 
> _______________________________________________
> zeromq-dev mailing list
> zeromq-dev at lists.zeromq.org
> http://lists.zeromq.org/mailman/listinfo/zeromq-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20150311/e974e7a7/attachment.htm>


More information about the zeromq-dev mailing list