Opened 6 months ago
#70066 new defect
yazpp @1.6.5 is overlinked
Reported by: | ryandesign (Ryan Carsten Schmidt) | Owned by: | |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.9.3 |
Keywords: | Cc: | ||
Port: | yazpp |
Description
yazpp @1.6.5 only declares a dependency on yaz but is linked with much more:
% port -v installed yazpp The following ports are currently installed: yazpp @1.6.5_0 (active) requested_variants='' platform='darwin 21' archs='x86_64' date='2024-05-23T13:05:12-0500'
% port deps yazpp Full Name: yazpp @1.6.5_0 Library Dependencies: yaz
% otool -L /opt/local/lib/libyazpp.dylib /opt/local/lib/libyazpp.dylib: /opt/local/lib/libyazpp.6.dylib (compatibility version 7.0.0, current version 7.0.0) /opt/local/lib/libyaz.5.dylib (compatibility version 6.0.0, current version 6.0.0) /opt/local/lib/libxslt.1.dylib (compatibility version 3.0.0, current version 3.34.0) /opt/local/lib/libxml2.2.dylib (compatibility version 12.0.0, current version 12.12.0) /opt/local/lib/libicui18n.67.dylib (compatibility version 67.0.0, current version 67.1.0) /opt/local/lib/libicuuc.67.dylib (compatibility version 67.0.0, current version 67.1.0) /opt/local/lib/libicudata.67.dylib (compatibility version 67.0.0, current version 67.1.0) /opt/local/lib/libz.1.dylib (compatibility version 1.0.0, current version 1.2.11) /opt/local/lib/liblzma.5.dylib (compatibility version 8.0.0, current version 8.5.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1311.0.0) /opt/local/lib/libiconv.2.dylib (compatibility version 9.0.0, current version 9.1.0) /usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 1200.3.0)
And it instructs its dependents to do so as well:
% yazpp-config --libs -L/opt/local/lib -lyazpp -L/opt/local/lib -lyaz -L/opt/local/lib -lxslt -lxml2 -licui18n -licuuc -licudata -lpthread -lz -llzma -liconv -lm -L/opt/local/lib -liconv -lpthread
Re-check if this is still a problem after yazpp is updated to the latest version. If so, using pkgconfig may help; in the absence of pkgconfig, configure scripts often use *-config
scripts to find dependencies, and these typically list all dependencies since they don't know whether you're linking statically or dynamically and static linking requires linking with all of the libraries, even the indirect dependencies.
Note: See
TracTickets for help on using
tickets.