Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 278081 - app-portage/gentoolkit-0.2.4.4 revdep-rebuild patch to allow use on IRIX
Summary: app-portage/gentoolkit-0.2.4.4 revdep-rebuild patch to allow use on IRIX
Status: RESOLVED WONTFIX
Alias: None
Product: Gentoo/Alt
Classification: Unclassified
Component: Prefix Support (show other bugs)
Hardware: All IRIX
: High normal (vote)
Assignee: Gentoo Prefix
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-07-16 17:14 UTC by Stuart Shelton
Modified: 2011-12-15 18:13 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
IRIX patch for revdep-rebuild from gentoolkit0.2.4.4, also adds prefix support (revdep-rebuild.patch,12.42 KB, patch)
2009-07-16 17:16 UTC, Stuart Shelton
Details | Diff
Updated prefix- & IRIX- compatible 'revdep-rebuild' script, based on gentoolkit-0.3.0_rc8-r1 (revdep-rebuild-0.3.0_rc8-r1.patch,13.68 KB, patch)
2010-01-19 15:32 UTC, Stuart Shelton
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Stuart Shelton 2009-07-16 17:14:57 UTC
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.)
Comment 1 Stuart Shelton 2009-07-16 17:16:03 UTC
Created attachment 198219 [details, diff]
IRIX patch for revdep-rebuild from gentoolkit0.2.4.4, also adds prefix support
Comment 2 Jeremy Olexa (darkside) (RETIRED) archtester gentoo-dev Security 2009-07-16 17:25:57 UTC
AFAIK, we killed revdep-rebuild on purpose except on AIX where there is no alternative. Can't you use preserved-libs?
Comment 3 Stuart Shelton 2009-07-17 09:02:08 UTC
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.
Comment 4 Stuart Shelton 2010-01-19 15:32:16 UTC
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.
Comment 5 Brian Dolbec (RETIRED) gentoo-dev 2011-12-02 07:00:20 UTC
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?
Comment 6 Fabian Groffen gentoo-dev 2011-12-15 18:13:32 UTC
We are sorry to close this bug.  We lack the man-power and devotion to support mips-irix in the tree.