Gentoo Archives: gentoo-user

From: gottlieb@×××.edu
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] infinite loop of with @preserved-rebuild
Date: Fri, 09 May 2014 21:12:57
Message-Id: 87r442k65u.fsf@nyu.edu
In Reply to: Re: [gentoo-user] infinite loop of with @preserved-rebuild by Alan McKinnon
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

Replies