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 |