Gentoo Archives: gentoo-user

From: Fernando Rodriguez <frodriguez.developer@×××××××.com>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] Portage cleaning up 32bit preserved libs (x86_64/amd64)
Date: Sat, 07 Nov 2015 21:19:22
Message-Id: BLU436-SMTP24774AE34C636C1A9961E018D170@phx.gbl
In Reply to: [gentoo-user] Portage cleaning up 32bit preserved libs (x86_64/amd64) by bitlord
1 On Saturday, November 07, 2015 7:19:22 PM bitlord wrote:
2 > Hi list,
3 > I have a problem with cleaning/removing 32bit libraries on my x86_64
4 > system (amd64 multilib). At one point I needed skype for something, and
5 > it needs a lot of 32bit libs (abi_x86_32) everything was fine, little
6 > fight with freetype+harfbuz (circular dep). And after some time I'm
7 > happy again without need for proprietary closed source software, so I
8 > wanted to remove it, first thing I did was:
9 > # emerge -C skype
10 > It was fine, next I wanted to remove unneeded dependencies
11 > # emerge --depclean
12 > and after that I removed package.use file which contained all
13 > dependencies with USE="abi_x86_32", and did world update
14 > # emerge -uND world
15 > everything was "fine" except it left 'preserved-libs', and told me to
16 > run
17 > # emerge @preserved-rebuild
18 > which did nothing, so currently I don't need those libs, and don't know
19 > what is a proper way to get rid of them.
20 >
21 > Here is the list:
22 > app-arch/bzip2-1.0.6-r6 /usr/lib32/libbz2.so.1.0.6 /usr/lib32/libbz2.so.1
23 > dev-libs/glib-2.44.1 /usr/lib32/libglib-2.0.so.0.4400.1
24 /usr/lib32/libglib-2.0.so.0
25 > media-gfx/graphite2-1.2.4-r1 /usr/lib32/libgraphite2.so.3.0.1
26 /usr/lib32/libgraphite2.so.3
27 > media-libs/freetype-2.5.5 /usr/lib32/libfreetype.so.6.11.4
28 /usr/lib32/libfreetype.so.6
29 > media-libs/harfbuzz-0.9.41 /usr/lib32/libharfbuzz.so.0.941.0
30 /usr/lib32/libharfbuzz.so.0
31 > media-libs/libpng-1.6.18 /usr/lib32/libpng16.so.16.18.0
32 /usr/lib32/libpng16.so.16
33 > sys-libs/zlib-1.2.8-r1 /lib32/libz.so.1.2.8 /lib32/libz.so.1
34 >
35 >
36 > and this is how they relate to each other:
37 > !!! existing preserved libs:
38 > >>> package: media-libs/harfbuzz-0.9.41
39 > * - /usr/lib32/libharfbuzz.so.0
40 > * - /usr/lib32/libharfbuzz.so.0.941.0
41 > * used by /usr/lib32/libfreetype.so.6 (preserved)
42 > * used by /usr/lib32/libfreetype.so.6.11.4 (preserved)
43 > >>> package: dev-libs/glib-2.44.1
44 > * - /usr/lib32/libglib-2.0.so.0
45 > * - /usr/lib32/libglib-2.0.so.0.4400.1
46 > * used by /usr/lib32/libharfbuzz.so.0 (preserved)
47 > * used by /usr/lib32/libharfbuzz.so.0.941.0 (preserved)
48 > >>> package: media-libs/freetype-2.5.5
49 > * - /usr/lib32/libfreetype.so.6
50 > * - /usr/lib32/libfreetype.so.6.11.4
51 > * used by /usr/lib32/libharfbuzz.so.0 (preserved)
52 > * used by /usr/lib32/libharfbuzz.so.0.941.0 (preserved)
53 > >>> package: sys-libs/zlib-1.2.8-r1
54 > * - /lib32/libz.so.1
55 > * - /lib32/libz.so.1.2.8
56 > * used by /usr/lib32/libfreetype.so.6 (preserved)
57 > * used by /usr/lib32/libfreetype.so.6.11.4 (preserved)
58 > * used by /usr/lib32/libpng16.so.16 (preserved)
59 > * used by /usr/lib32/libpng16.so.16.18.0 (preserved)
60 > >>> package: app-arch/bzip2-1.0.6-r6
61 > * - /usr/lib32/libbz2.so.1
62 > * - /usr/lib32/libbz2.so.1.0.6
63 > * used by /usr/lib32/libfreetype.so.6 (preserved)
64 > * used by /usr/lib32/libfreetype.so.6.11.4 (preserved)
65 > >>> package: media-libs/libpng-1.6.18
66 > * - /usr/lib32/libpng16.so.16
67 > * - /usr/lib32/libpng16.so.16.18.0
68 > * used by /usr/lib32/libfreetype.so.6 (preserved)
69 > * used by /usr/lib32/libfreetype.so.6.11.4 (preserved)
70 > >>> package: media-gfx/graphite2-1.2.4-r1
71 > * - /usr/lib32/libgraphite2.so.3
72 > * - /usr/lib32/libgraphite2.so.3.0.1
73 > * used by /usr/lib32/libharfbuzz.so.0 (preserved)
74 > * used by /usr/lib32/libharfbuzz.so.0.941.0 (preserved)
75 > Use emerge @preserved-rebuild to rebuild packages using these libraries
76 >
77 >
78 > So I think this is because of that harfbuzz<->freetype circular
79 > dependency, which some people/devs on IRC confirm.
80 > "<floppym> bitlord: Yes, it seems to be related to that circular
81 > dependency. libfreetype is being preserved due to libharfbuzz and
82 > vice-versa."
83 >
84 > So don't know if this is a portage bug (considering circular
85 > dependencies I guess it is really hard to manage them, so maybe not a
86 > bug really?). In the end I don't need those libs in /usr/lib32
87 > (probably just those listed, others are there intentionally (multilib)),
88 > if I remove them I won't break anything (except maybe package manager
89 > being confused?).
90 >
91 > Does anyone know how to manage this? :-)
92
93 Delete them. I think they're also recorded on /var/lib/portage so delete them
94 from there too or they may just get removed from there next time you emerge
95 something. I think revdep-rebuild/preserved-libs could do better at detecting
96 false positives like this and a few other cases but I wouldn't call it a bug.
97 You could file one as an improvement request against portage though. Another
98 case where it messes up is when two packages have the same libraries outside
99 the search directories and preload them manually, like firefox and thunderbird.
100
101 --
102 Fernando Rodriguez