The main issue here is that I've had to comment out the checks involving LD_LIBRARY_MASK and SONAME_SEARCH, because with these in place, no builds were being detected as broken even if they were. (Note that IRIX is, characteristically, a little different when it comes to getting output from ldd. All runtime linking is performed by the 'rld' binary, ABI-specific versions of which live in /lib/, /lib32/, and /lib64/, which are invoked directly by the system C library. The operation of rld can be affected by environment variables. When 'ldd' is executed it outputs valid linked libraries, whilst *rld* writes out any errors... to /dev/tty. This can be overridden with the correct (exported, so that rld can see it) environment variable - but to be safe the previous value of the control variable is restored ASAP by the patch, in case important values were previously set. rld's error output takes the form of: 83375754: 16:51:38 /opt/gentoo/usr/bin/gxditview: rld: Fatal Error exit/longjmp: Cannot Successfully map soname 'libXaw.so.8' under any of the filenames /opt/gentoo/usr/lib32/libXaw.so.8:/opt/gentoo/lib32/libXaw.so.8:/opt/gentoo/usr/lib32/nspr/libXaw.so.8:/usr/lib32/libXaw.so.8:/usr/lib32/internal/libXaw.so.8:/lib32/libXaw.so.8:/opt/lib32/libXaw.so.8:/opt/gentoo/usr/lib32/libXaw.so.8.8:/opt/gentoo/lib32/libXaw.so.8.8:/opt/gentoo/usr/lib32/nspr/libXaw.so.8.8:/usr/lib32/libXaw.so.8.8:/usr/lib32/internal/libXaw.so.8.8:/lib32/libXaw.so.8.8:/opt/lib32/libXaw.so.8.8: 83375754:/opt/gentoo/usr/bin/gxditview: rld: Fatal Error: Cannot Successfully map soname 'libXaw.so.8' under any of the filenames /opt/gentoo/usr/lib32/libXaw.so.8:/opt/gentoo/lib32/libXaw.so.8:/opt/gentoo/usr/lib32/nspr/libXaw.so.8:/usr/lib32/libXaw.so.8:/usr/lib32/internal/libXaw.so.8:/lib32/libXaw.so.8:/opt/lib32/libXaw.so.8:/opt/gentoo/usr/lib32/libXaw.so.8.8:/opt/gentoo/lib32/libXaw.so.8.8:/opt/gentoo/usr/lib32/nspr/libXaw.so.8.8:/usr/lib32/libXaw.so.8.8:/usr/lib32/internal/libXaw.so.8.8:/lib32/libXaw.so.8.8:/opt/lib32/libXaw.so.8.8: Both sets of output are always sent to the same destination, so the list of broken libraries has to be filtered to remove duplicates.)
Created attachment 198219 [details, diff] IRIX patch for revdep-rebuild from gentoolkit0.2.4.4, also adds prefix support
AFAIK, we killed revdep-rebuild on purpose except on AIX where there is no alternative. Can't you use preserved-libs?
I didn't realise that that was the correct was to handle this, TBH! I get this: $ emerge -pv @preserved-libs emerge: There are no sets to satisfy 'preserved-libs'. The following sets exist: downgrade installed live-rebuild module-rebuild preserved-rebuild security system unavailable world Is this invocation correct? (... and is the result as comprehensive as revdep-rebuild?) I realised why I had to comment out the SONAME_SEARCH tests: On Linux, SONAME_SEARCH is set to "not found" (unless specified on the command-line) - which matches Linux ldd's output for broken libraries. This doesn't work on IRIX because of the different output format - but should be easily fixable.
Created attachment 216906 [details, diff] Updated prefix- & IRIX- compatible 'revdep-rebuild' script, based on gentoolkit-0.3.0_rc8-r1 revdep-rebuild is still the only way to catch mis-linked binaries on IRIX - please consider this patch: it is adapted for prefix, but all of the IRIX-specific parts are guarded.
In the current gentoolkit.git, (emerge gentoolkit-9999) is the new python version of revdep-rebuild. It is already prefix capable, but does not have any of the irix changes you made for the bash version. Can you look over the code? It is quite different from the bash version. Are there any changes still needed for irix?
We are sorry to close this bug. We lack the man-power and devotion to support mips-irix in the tree.