Opened 3 years ago

Last modified 3 years ago

#54845 new defect

py-zmq: problematic dependencies

Reported by: mojca (Mojca Miklavec) Owned by: jrjsmrtn
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: michaelld (Michael Dickens), cjones051073 (Chris Jones), merijn (Merijn Verstraaten), stromnov (Andrew Stromnov)
Port: py-zmq


The dependency in py-zmq is too permissive which leads to a broken port on my machine.

otool -L /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/zmq/backend/cython/
	/opt/local/lib/libzmq.5.dylib (compatibility version 7.0.0, current version 7.0.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 159.1.0)

The problem is that on my machine I apparently had zmq22 installed from earlier which apparently satisfied the dependency, but that was different than the one against which py-zmq was built on the build server. I don't have /opt/local/lib/libzmq.5.dylib installed.

$ ls -l /opt/local/lib/libzmq.dylib 
/opt/local/lib/libzmq.dylib -> libzmq.1.dylib
$ port provides /opt/local/lib/libzmq.dylib
/opt/local/lib/libzmq.dylib is provided by: zmq22

Change History (2)

comment:1 Changed 3 years ago by ryandesign (Ryan Schmidt)

zmq, zmq3 and zmq22 erroneously install files of the same names and therefore conflict with one another. They should instead install files with different names, or to different locations, and should then not conflict with one another.

comment:2 Changed 3 years ago by michaelld (Michael Dickens)

All of the zmq* ports install ${prefix}/lib/libzmq.dylib as a symlink to the actual dylib. The actual dylib name varies, so we should be able to use that as the key. zmq22 -> libzmq.1.dylib ; zmq3 -> libzmq.3.dylib ; zmq and zmq-devel -> libzmq.5.dylib . Do we know which zmq can be used to build py*-zmq? zmq and zmq-devel should work, since I have py27-zmq installed along with zmq-devel. Guessing zmq3 might be too old. Anyone know?

Note: See TracTickets for help on using tickets.