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.

Change History (0)

Note: See TracTickets for help on using tickets.