Hi,

The problem seems to occur in the Shlibs perl module[1]. In
particular, the function find_library looks in a list of configured
paths. But for each path, it checks if the path is a link to another
known path, and if so, it does not use the original link but the
resolved path. Thus for /lib, it detects that it is a link to
/usr/lib and uses the latter instead. Complicating things:

1. Many libraries live in /usr/lib/$triplet, but /lib/$triplet is not
a link to the latter. Thus this link resolving is not done.
2. On at least my (usrmerged) amd64 machine, /usr/lib64 is not a
symlink to /usr/lib, and ld-linux-86_64 lives there instead of
/usr/lib.

It's unclear what the best solution for this is. The indirection is
there due to bug #453885. Maybe find_library should be changed to
return a list of possible matches, and have dpkg-shlibdeps decide
which one to use by using the first one for which dpkg-query returns a
positive result. That would be an API break on libdpkg-perl though.

[1] 
https://sources.debian.net/src/dpkg/1.18.13/scripts/Dpkg/Shlibs.pm/#L161-L166

-- 

Saludos,
Felipe Sateler

Reply via email to