[zeromq-dev] pyzmq: using libzmq functions from cython

Michael Haberler mail17 at mah.priv.at
Fri Aug 9 21:00:08 CEST 2013


Tom,

Am 09.08.2013 um 20:34 schrieb Tom Farnbauer <tom.farnbauer at gmail.com>:

> I'm pretty certain that I'm importing zmq first and it loads just fine. Then once I try to import my stuff, it fails and tells me that:
> 
> ImportError: libzmq.so: cannot open shared object file: No such file or directory
> 
> One interesting thing I noticed is that when I run `ldd <any one of pyzmq backend extensions>` libzmq.so is not in the output. It is however listed when I run it on my own extension module. This happens even if I link specifically against the libzmq instance that is bundled with zmq. I've tried playing around with different dlopen settings to no avail (based on this old info here: http://muttley.hates-software.com/2006/01/25/c37456e6.html). It appears that python doesn't use RTLD_GLOBAL by default, but trying to force it (through sys.setdlopenflags) didn't help...
> 
> If I add the zmq package directory to LD_LIBRARY_PATH, it works just fine. I'm trying not to have to gdb it but I just may have to.

you might want to look into the rpath linker option - in essence it gives you a way to bundle a library path with a binary

- Michael


> 
> The code in question is here: https://github.com/SleepingPills/splice.io/blob/master/splice/receiver.pyx (warning: it is fairly hacky at the moment)
> _______________________________________________
> zeromq-dev mailing list
> zeromq-dev at lists.zeromq.org
> http://lists.zeromq.org/mailman/listinfo/zeromq-dev




More information about the zeromq-dev mailing list