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 |