1 |
On Fri, May 09 2014, Alan McKinnon wrote: |
2 |
|
3 |
> On 09/05/2014 14:50, gottlieb@×××.edu wrote: |
4 |
>> I am switching a system from nvidia-drivers to nouveau. I changed the |
5 |
>> entries in make.conf and did emerge --depclean nvidia-drivers. |
6 |
>> |
7 |
>> One result was about a dozen packages to @preserved-rebuild, including |
8 |
>> two webkit-gtk and libreoffice (so hours to rebuild). |
9 |
>> |
10 |
>> The overnight emerge @preserved-rebuild finished without error, but at |
11 |
>> the end announced that I again needed to emerge about a dozen packages, |
12 |
>> again including the two webkit-gtk versions and libreoffice. |
13 |
>> |
14 |
>> The full output (see below) mentions several nvidia files. |
15 |
>> |
16 |
>> How do I break this cycle? |
17 |
> |
18 |
> Basically what's happening is portage sees things that used to use the |
19 |
> old nvidia GL files still want them somehow, so it's keeping those files |
20 |
> around. Presumably, when packages like libreoffice are rebuilt, they |
21 |
> will link to the new files provided by nouveau, portage will pick this |
22 |
> up and release the old files. |
23 |
> |
24 |
> For various reasons this doesn't always work out. Consumer apps are not |
25 |
> always diligent about how they seek libs to link to, and portage can't |
26 |
> deal with this. |
27 |
> |
28 |
> There's a brute force method. All the nvidia files listed below are now |
29 |
> orphaned, so you should be able to delete them and let revdep-rebuild |
30 |
> fix anything remaining. You also have stuffs from emul-linux in there, |
31 |
> so I'd suggest this: |
32 |
> |
33 |
> unmerge emul-linux-x86-opengl |
34 |
> delete orphaned files |
35 |
> revdep-rebuild and let it do what it wants |
36 |
> remerge emul-linux-x86-opengl back |
37 |
> |
38 |
> Sometimes the portage preserved-rebuild magic doesn't have enough magic, |
39 |
> so you have to resort to the old manual ways. this looks like one of |
40 |
> those times |
41 |
|
42 |
I see. This encouraged me to look at |
43 |
/var/lib/portage/preserved_libs_registry, whose contents is |
44 |
|
45 |
"x11-drivers/nvidia-drivers:0": [ |
46 |
"x11-drivers/nvidia-drivers-334.21-r3", |
47 |
"12161", |
48 |
[ |
49 |
"/usr/lib64/libnvidia-glcore.so.334.21", |
50 |
"/usr/lib64/libnvidia-tls.so.334.21", |
51 |
"/usr/lib32/libnvidia-glsi.so.334.21", |
52 |
"/usr/lib32/opengl/nvidia/lib/libGL.so.334.21", |
53 |
"/usr/lib64/libnvidia-glsi.so.334.21", |
54 |
"/usr/lib32/opengl/nvidia/lib/libEGL.so.334.21", |
55 |
"/usr/lib64/opengl/nvidia/lib/libGL.so.334.21", |
56 |
"/usr/lib32/libnvidia-tls.so.334.21", |
57 |
"/usr/lib64/opengl/nvidia/lib/libEGL.so.334.21", |
58 |
"/usr/lib32/libnvidia-glcore.so.334.21", |
59 |
"/usr/lib64/opengl/nvidia/lib/libGL.so.1", |
60 |
"/usr/lib64/opengl/nvidia/lib/libEGL.so.1", |
61 |
"/usr/lib32/opengl/nvidia/lib/libGL.so.1", |
62 |
"/usr/lib32/opengl/nvidia/lib/libEGL.so.1" |
63 |
] |
64 |
] |
65 |
} |
66 |
|
67 |
So I guess this means that all the orphans come from nvidia-drivers. |
68 |
So I am initially not unmerging/remerging emul-linux-x86. |
69 |
That is my plan will be |
70 |
|
71 |
move orphaned files listed above to a holding area |
72 |
let revdep-rebuild do its thing |
73 |
wait 30 days |
74 |
delete the holding bin |
75 |
|
76 |
Thanks for explaining. |
77 |
allan |