Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 279922 - revdep-rebuild fails to rebuild elf files if the ldpath is too long
Summary: revdep-rebuild fails to rebuild elf files if the ldpath is too long
Status: CONFIRMED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Tools (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Portage Tools Team
URL:
Whiteboard:
Keywords:
: 187644 (view as bug list)
Depends on:
Blocks: 346443
  Show dependency tree
 
Reported: 2009-08-01 16:33 UTC by Diego Elio Pettenò (RETIRED)
Modified: 2012-12-25 01:53 UTC (History)
3 users (show)

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


Attachments
2_ldpath.rr from tinderbox (2_ldpath.rr,159.82 KB, text/plain)
2009-08-23 10:39 UTC, Diego Elio Pettenò (RETIRED)
Details
My obese 2_ldpath.rr (2_ldpath.rr,131.66 KB, text/plain)
2010-11-24 06:11 UTC, Patrice Levesque
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Diego Elio Pettenò (RETIRED) gentoo-dev 2009-08-01 16:33:55 UTC
I've been having problems in the tinderbox with revdep-rebuild: it continued not finding _any_ elf file broken, although I did know there were quite a bit (no preserved-rebuild enabled).

Then I tried something manually:

tinderbox revdep-rebuild # ldd /usr/bin/opd 
        linux-gate.so.1 =>  (0xf7fe7000)
        libopenobex.so.1 => /usr/lib/libopenobex.so.1 (0xf7f31000)
        libbluetooth.so.2 => not found
        libc.so.6 => /lib/libc.so.6 (0xf7de7000)
        /lib/ld-linux.so.2 (0xf7fcb000)

tinderbox revdep-rebuild # LD_LIBRARY_PATH=$(<2_ldpath.rr) ldd /usr/bin/opd
bash: /usr/bin/ldd: Argument list too long
tinderbox revdep-rebuild # ls -l 2_ldpath.rr 
-rw-r--r-- 1 root root 167706 Aug  1 17:48 2_ldpath.rr

oups!

tinderbox revdep-rebuild # wc -l /etc/ld.so.conf 
57 /etc/ld.so.conf

Now, I'm looking for a way to filter this down because otherwise it's a _biiit_ unmanageable for the tinderbox :(
Comment 1 Diego Elio Pettenò (RETIRED) gentoo-dev 2009-08-01 16:58:39 UTC
xargs -d : --arg-file=2_ldpath.rr scanelf -R -E ET_DYN -F '%F' | xargs -n1 dirname | sort -u > 2_ldpath.rr.filtered.lines

with this I filtered down the list so that it can actually be loaded; probably revdep-rebuild could use something along those lines to reduce the amount of paths that are added in search...
Comment 2 Paul Varner (RETIRED) gentoo-dev 2009-08-04 03:53:25 UTC
There is also the --no-ld-path option.  That does not append anything to the ldpath and will give false positives for libraries in non-standard places.  I don't know if that is appropriate for the tinderbox or not.

Also, can you attach 2_ldpath.rr from the tinderbox, so that I have something to play with?
Comment 3 Diego Elio Pettenò (RETIRED) gentoo-dev 2009-08-23 10:39:28 UTC
Created attachment 202011 [details]
2_ldpath.rr from tinderbox

Here comes the file since I need to run revdep-rebuild again.

I could probably ignore ldpath and just rebuild a bunch of software that way but I don't really know whether that's a very good idea.
Comment 4 Patrice Levesque 2010-11-24 06:10:56 UTC
Same problem here on a regular user gentoo box (not a tinderbox-like system at all).  Diego's filter works though it takes forever to run.  Attaching my obese 2_ldpath.rr.

Comment 5 Patrice Levesque 2010-11-24 06:11:27 UTC
Created attachment 255281 [details]
My obese 2_ldpath.rr
Comment 6 Patrice Levesque 2010-12-29 21:00:01 UTC
Adding /usr/lib/debug/* to ${SEARCH_DIRS_MASK} trims enough directories for revdep-rebuild to work again for me.  I guess that these are not strictly needed for a thorough library dependency check.  Might be relevant to add to the default set of skipped directories?
Comment 7 Paul Varner (RETIRED) gentoo-dev 2011-05-10 23:41:03 UTC
No fixes made it into gentoolkit-0.3.0.  Let's try to see if this can be fixed once and for all with the python rewrite.
Comment 8 Paul Varner (RETIRED) gentoo-dev 2011-07-21 05:09:55 UTC
*** Bug 187644 has been marked as a duplicate of this bug. ***