[prev in list] [next in list] [prev in thread] [next in thread]
List: gentoo-dev
Subject: Re: [gentoo-dev] Announcing new Prelinking Guide
From: Terje Kvernes <terjekv () math ! uio ! no>
Date: 2003-01-04 22:18:49
[Download RAW message or body]
Stefan Jones <cretin@gentoo.org> writes:
> On Fri, 2003-01-03 at 19:21, Terje Kvernes wrote:
>
> > I'm getting a lot of segfaults when I try to undo prelink. any
> > suggestions to save me from rebuilding pretty much everything?
> > I'm not sure how to find broken libraries even, so I'm just
> > emergeing stuff that is broken when I find it to be so.
>
> Lots of problems here.
ouch. you have my sympathy. thanks for testing, I hope you did so
with careful planning? :-)
> It seems that because of the disk space shortage some libraries must
> of got corrupted and thus are unfixable, they probably got
> truncated.
good point. I thought that should be easy enough to check so I
created a small logical volume directory for testing. I then ran
prelink -v /mnt/prelink/*.so, and even if the partition was 100%
full it ran okay. well, seemingly at least. nothing ended up as
"data". I wonder what libraries cause massive space usage?
> How much was the amount of space used up by prelink, details, so I
> can update my howto, for I think as you say, that was the source of
> the errors.
I noticed the space on /usr having 50MiB free at one point, and
dropping down to around 10MiB when I reran "prelink -u". I'd say
that 100MiB should be plenty, and probably give us a bit of
headspace as well. I'll try to reproduce the events under
controlled circumstances.
anyhow, since /etc/prelink.conf contains all the stuff that can be
broken, this find everything that is broken, and then some:
for build in $(
for broken in $(
for dir in $( grep -v '#' /etc/prelink.conf | cut -f2 -d' ' );
do
file $dir/* | grep ":.*data";
done | cut -f1 -d: );
do
qpkg -v -nc -f $broken;
done | sort | uniq );
do echo "=$build"; done
produces a nice list to feed emerge:
=dev-util/guile-1.4-r3
=gnome-base/gnome-panel-1.4.1
=kde-base/kdebase-3.0.5a
=kde-base/kdelibs-3.0.5a
=kde-base/kdemultimedia-3.0.5a
=media-video/transcode-0.6.0
=media-video/xawtv-3.80
=net-print/cups-1.1.18
=sys-libs/cracklib-2.7-r6
=sys-libs/db-1.85-r1
=x11-libs/qt-3.1.0-r1
emerge $( for ... ) works as it should, and grabs the proper
versions.
the only false positive I find comes from /usr/lib/cracklib_dict.hwm
and will require a remerge of cracklib, which isn't that bad. one
can of course just grep that away, if you know it's clean. there is
also the issue that ORBit2 required me to delete the broken
libraries by hand, and also that packages have to be built in the
correct order. building kdelibs with a broken kdebase doesn't quite
work. but, at least the above script should ease ones pain.
--
Terje
--
gentoo-dev@gentoo.org mailing list
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic