Gentoo Archives: gentoo-dev

From: "Matthew J. Turk" <satai@g.o>
To: gentoo-user <gentoo-user@g.o>, gentoo-dev <gentoo-dev@g.o>
Subject: [gentoo-dev] glibc madness - solution
Date: Wed, 23 Oct 2002 19:21:51
Message-Id: 1035418910.10299.26.camel@dhcp101240.res-hall.nwu.edu
1 Hi guys. All over -user and -dev lately have been problems with glibc
2 upgrading... I must admit that I, too, was taken by surprise, but with
3 Seemant's help I've been able to work out a way to fix my system up.
4
5 There might be typos, and it might not work quickly, but it worked for
6 me. I'm not getting missing symbols anymore.
7
8 Before anything else, let's clear out the colors. Set NOCOLOR to true.
9
10 export NOCOLOR="true"
11
12 First, I found all the statically linked libraries in /usr/lib ; I know
13 that's not all of them, but I wasn't sure where else to send people.
14
15 find /usr/lib -name "*.a" > STATIC_LIBS
16
17 Now we grab the package names that own those libs... (the cut is to grab
18 the * at the end, if it exists.) This should take a while before
19 outputting anything to PACKAGES, as sort waits for the input to finish
20 before doing anything.
21
22 ( for i in `cat STATIC_LIBS` ; do ( qpkg -nc -f ${i} ) done )| \
23 cut -f1 -d\ |sort -u > PACKAGES
24
25 We need these to be in the right order. So, let's pretend to emerge
26 them all from scratch, then cut out the version numbers. (This step I'm
27 not so sure about - mainly the version number cutting. *Mine* worked,
28 and I have a fairly full system - KDE and GNOME, but it might not work
29 for everyone...)
30
31 emerge -pe `cat PACKAGES` | grep ebuild | cut -c16-100 > ORDER
32 cat ORDER | sed 's/-[0-9].*$//' > F_ORDER
33
34 I ran *this* through a python script:
35
36 needed=open("PACKAGES").readlines()
37 inorder=[]
38
39 for line in open("F_ORDER").readlines():
40 if line in needed:
41 inorder.append(line)
42
43 open("FINAL", "w").writelines(inorder)
44
45
46 Now you'll have an ordered list in FINAL.
47
48 emerge `cat FINAL`
49
50 should do it. It'll take a while, but it'll fix your static libs...
51
52
53 mjt
54 --
55 Matthew J. Turk
56 satai@g.o

Attachments

File name MIME type
signature.asc application/pgp-signature