Opened 7 years ago
Last modified 7 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 (Andrey Stromnov) | |
Port: | py-zmq |
Description
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/_device.so /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/zmq/backend/cython/_device.so: /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 7 years ago by ryandesign (Ryan Carsten Schmidt)
comment:2 Changed 7 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?
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.