Gentoo Archives: gentoo-dev

From: Terje Kvernes <terjekv@××××××××.no>
To: Stefan Jones <cretin@g.o>
Cc: gentoo-dev <gentoo-dev@g.o>
Subject: Re: [gentoo-dev] Announcing new Prelinking Guide
Date: Sat, 04 Jan 2003 22:20:52
Message-Id: wxx4r8opnhy.fsf@nommo.uio.no
In Reply to: Re: [gentoo-dev] Announcing new Prelinking Guide by Stefan Jones
1 Stefan Jones <cretin@g.o> writes:
2
3 > On Fri, 2003-01-03 at 19:21, Terje Kvernes wrote:
4 >
5 > > I'm getting a lot of segfaults when I try to undo prelink. any
6 > > suggestions to save me from rebuilding pretty much everything?
7 > > I'm not sure how to find broken libraries even, so I'm just
8 > > emergeing stuff that is broken when I find it to be so.
9 >
10 > Lots of problems here.
11
12 ouch. you have my sympathy. thanks for testing, I hope you did so
13 with careful planning? :-)
14
15 > It seems that because of the disk space shortage some libraries must
16 > of got corrupted and thus are unfixable, they probably got
17 > truncated.
18
19 good point. I thought that should be easy enough to check so I
20 created a small logical volume directory for testing. I then ran
21 prelink -v /mnt/prelink/*.so, and even if the partition was 100%
22 full it ran okay. well, seemingly at least. nothing ended up as
23 "data". I wonder what libraries cause massive space usage?
24
25 > How much was the amount of space used up by prelink, details, so I
26 > can update my howto, for I think as you say, that was the source of
27 > the errors.
28
29 I noticed the space on /usr having 50MiB free at one point, and
30 dropping down to around 10MiB when I reran "prelink -u". I'd say
31 that 100MiB should be plenty, and probably give us a bit of
32 headspace as well. I'll try to reproduce the events under
33 controlled circumstances.
34
35 anyhow, since /etc/prelink.conf contains all the stuff that can be
36 broken, this find everything that is broken, and then some:
37
38 for build in $(
39 for broken in $(
40 for dir in $( grep -v '#' /etc/prelink.conf | cut -f2 -d' ' );
41 do
42 file $dir/* | grep ":.*data";
43 done | cut -f1 -d: );
44 do
45 qpkg -v -nc -f $broken;
46 done | sort | uniq );
47 do echo "=$build"; done
48
49 produces a nice list to feed emerge:
50
51 =dev-util/guile-1.4-r3
52 =gnome-base/gnome-panel-1.4.1
53 =kde-base/kdebase-3.0.5a
54 =kde-base/kdelibs-3.0.5a
55 =kde-base/kdemultimedia-3.0.5a
56 =media-video/transcode-0.6.0
57 =media-video/xawtv-3.80
58 =net-print/cups-1.1.18
59 =sys-libs/cracklib-2.7-r6
60 =sys-libs/db-1.85-r1
61 =x11-libs/qt-3.1.0-r1
62
63 emerge $( for ... ) works as it should, and grabs the proper
64 versions.
65
66 the only false positive I find comes from /usr/lib/cracklib_dict.hwm
67 and will require a remerge of cracklib, which isn't that bad. one
68 can of course just grep that away, if you know it's clean. there is
69 also the issue that ORBit2 required me to delete the broken
70 libraries by hand, and also that packages have to be built in the
71 correct order. building kdelibs with a broken kdebase doesn't quite
72 work. but, at least the above script should ease ones pain.
73
74 --
75 Terje
76
77 --
78 gentoo-dev@g.o mailing list

Replies

Subject Author
Re: [gentoo-dev] Announcing new Prelinking Guide Bart Verwilst <verwilst@g.o>