Created attachment 711240 [details] Make.conf How to reproduce the bug: 1. Install app-crypt/heimdal with emerge (no special options) 2. Install net-misc/icaclient with emerge (no special options) and got the next message: Calculating dependencies... done! >>> Verifying ebuild manifests >>> Emerging (1 of 1) net-misc/icaclient-21.4.0.11::gentoo * linuxx64-21.4.0.11.tar.gz BLAKE2B SHA512 size ;-) ... [ ok ] >>> Unpacking source... >>> Unpacking linuxx64-21.4.0.11.tar.gz to /var/tmp/portage/net-misc/icaclient-21.4.0.11/work >>> Source unpacked in /var/tmp/portage/net-misc/icaclient-21.4.0.11/work >>> Preparing source in /var/tmp/portage/net-misc/icaclient-21.4.0.11/work/linuxx64/linuxx64.cor ... >>> Source prepared. >>> Configuring source in /var/tmp/portage/net-misc/icaclient-21.4.0.11/work/linuxx64/linuxx64.cor ... >>> Source configured. >>> Compiling source in /var/tmp/portage/net-misc/icaclient-21.4.0.11/work/linuxx64/linuxx64.cor ... >>> Source compiled. >>> Test phase [not enabled]: net-misc/icaclient-21.4.0.11 >>> Install net-misc/icaclient-21.4.0.11 into /var/tmp/portage/net-misc/icaclient-21.4.0.11/image >>> Completed installing net-misc/icaclient-21.4.0.11 into /var/tmp/portage/net-misc/icaclient-21.4.0.11/image * Final size of build directory: 367384 KiB (358.7 MiB) * Final size of installed tree: 127716 KiB (124.7 MiB) scanelf: rpath_security_checks(): Security problem with relative DT_RPATH '.:$ORIGIN/' in /var/tmp/portage/net-misc/icaclient-21.4.0.11/image/opt/Citrix/ICAClient/lib/libwebrpc.so * QA Notice: Unresolved soname dependencies: * * /opt/Citrix/ICAClient/VDMSSPI.DLL: libgssapi_krb5.so.2 libkrb5.so.3 * /opt/Citrix/ICAClient/lib/libkcpm.so: libgssapi_krb5.so.2 libkrb5.so.3 * >>> Installing (1 of 1) net-misc/icaclient-21.4.0.11::gentoo * Updating .desktop files database ... [ ok ] * Updating .desktop files database ... [ ok ] >>> Auto-cleaning packages... >>> No outdated packages were found on your system. * GNU info directory index is up-to-date. !!! existing preserved libs: >>> package: app-crypt/mit-krb5-1.18.2-r3 * - /usr/lib64/libgssapi_krb5.so.2 * - /usr/lib64/libgssapi_krb5.so.2.2 * used by /opt/Citrix/ICAClient/VDMSSPI.DLL (net-misc/icaclient-21.4.0.11) * used by /opt/Citrix/ICAClient/lib/libkcpm.so (net-misc/icaclient-21.4.0.11) * - /usr/lib64/libkrb5support.so.0 * - /usr/lib64/libkrb5support.so.0.1 * - /usr/lib64/libk5crypto.so.3 * - /usr/lib64/libk5crypto.so.3.1 * - /usr/lib64/libkrb5.so.3 * - /usr/lib64/libkrb5.so.3.3 * used by /opt/Citrix/ICAClient/VDMSSPI.DLL (net-misc/icaclient-21.4.0.11) * used by /opt/Citrix/ICAClient/lib/libkcpm.so (net-misc/icaclient-21.4.0.11) Use emerge @preserved-rebuild to rebuild packages using these libraries I have to unmerge heimdal and install mit-krb5 to get the right libraries and then I have to unmerge the mit-krb5 and return the heimdal back. This is ugly but I have Citrix works perfect in that way. My make conf is attached.
FYI bug #775995 is the same issue from the opposite perspective, i.e. user has app-crypt/mit-krb5 installed and icaclient issues a warning during installation that it has an unresolved dependency on libgssapi.so.3 (which is provided by app-crypt/heimdal).
This is still an issue today, with net-misc/icaclient-21.9.0.25.
please assign me i took over maintainership
It looks like it really just supports both implementation and will detect at runtime which one works. We could try and move the detection of which virtual/krb5 is installed into the package and drop some libs. But that likely is pretty risky business since we do not know how the thing will react. Not finding its own libs might cause problems, where own libs not finding rdeps might make the runtime magic work. So i suggest to try an suppress those warnings as "known and not a problem", and if we can not suppress ... we simply accept them and close the two bugs. Or do we also have an issue with emerge @preserved-rebuild actually forcing one to switch between both implementations? AFAIK the application will actually work with either krb5 implementation, and we are just seeing warnings.
Can anyone give me a hint on how i can express something like soname check has to be good for "libgssapi.so.3" XOR "libgssapi_krb5.so.2 libkrb5.so.3" it can never be AND ... and that is totally OK and safer than installing only parts of the upstream binaries, plus way easier to maintain
Or at least a pointer on how to disable soname checks for some binaries/libs.
*** Bug 775995 has been marked as a duplicate of this bug. ***
https://github.com/gentoo/gentoo/commit/dc67f8a19db3ffa28eccadd4fe4a372a28bc25e9