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 |