Hi list,
I have a problem with cleaning/removing 32bit libraries on my x86_64
system (amd64 multilib). At one point I needed skype for something, and
it needs a lot of 32bit libs (abi_x86_32) everything was fine, little
fight with freetype+harfbuz (circular dep). And after some time I'm
happy again without need for proprietary closed source software, so I
wanted to remove it, first thing I did was: 
# emerge -C skype 
It was fine, next I wanted to remove unneeded dependencies 
# emerge --depclean
and after that I removed package.use file which contained all
dependencies with USE="abi_x86_32", and did world update 
# emerge -uND world
everything was "fine" except it left 'preserved-libs', and told me to
run 
# emerge @preserved-rebuild
which did nothing, so currently I don't need those libs, and don't know
what is a proper way to get rid of them.

Here is the list: 
app-arch/bzip2-1.0.6-r6 /usr/lib32/libbz2.so.1.0.6 /usr/lib32/libbz2.so.1
dev-libs/glib-2.44.1 /usr/lib32/libglib-2.0.so.0.4400.1 
/usr/lib32/libglib-2.0.so.0
media-gfx/graphite2-1.2.4-r1 /usr/lib32/libgraphite2.so.3.0.1 
/usr/lib32/libgraphite2.so.3
media-libs/freetype-2.5.5 /usr/lib32/libfreetype.so.6.11.4 
/usr/lib32/libfreetype.so.6
media-libs/harfbuzz-0.9.41 /usr/lib32/libharfbuzz.so.0.941.0 
/usr/lib32/libharfbuzz.so.0
media-libs/libpng-1.6.18 /usr/lib32/libpng16.so.16.18.0 
/usr/lib32/libpng16.so.16
sys-libs/zlib-1.2.8-r1 /lib32/libz.so.1.2.8 /lib32/libz.so.1


and this is how they relate to each other:
!!! existing preserved libs:
>>> package: media-libs/harfbuzz-0.9.41
 *  - /usr/lib32/libharfbuzz.so.0
 *  - /usr/lib32/libharfbuzz.so.0.941.0
 *      used by /usr/lib32/libfreetype.so.6 (preserved)
 *      used by /usr/lib32/libfreetype.so.6.11.4 (preserved)
>>> package: dev-libs/glib-2.44.1
 *  - /usr/lib32/libglib-2.0.so.0
 *  - /usr/lib32/libglib-2.0.so.0.4400.1
 *      used by /usr/lib32/libharfbuzz.so.0 (preserved)
 *      used by /usr/lib32/libharfbuzz.so.0.941.0 (preserved)
>>> package: media-libs/freetype-2.5.5
 *  - /usr/lib32/libfreetype.so.6
 *  - /usr/lib32/libfreetype.so.6.11.4
 *      used by /usr/lib32/libharfbuzz.so.0 (preserved)
 *      used by /usr/lib32/libharfbuzz.so.0.941.0 (preserved)
>>> package: sys-libs/zlib-1.2.8-r1
 *  - /lib32/libz.so.1
 *  - /lib32/libz.so.1.2.8
 *      used by /usr/lib32/libfreetype.so.6 (preserved)
 *      used by /usr/lib32/libfreetype.so.6.11.4 (preserved)
 *      used by /usr/lib32/libpng16.so.16 (preserved)
 *      used by /usr/lib32/libpng16.so.16.18.0 (preserved)
>>> package: app-arch/bzip2-1.0.6-r6
 *  - /usr/lib32/libbz2.so.1
 *  - /usr/lib32/libbz2.so.1.0.6
 *      used by /usr/lib32/libfreetype.so.6 (preserved)
 *      used by /usr/lib32/libfreetype.so.6.11.4 (preserved)
>>> package: media-libs/libpng-1.6.18
 *  - /usr/lib32/libpng16.so.16
 *  - /usr/lib32/libpng16.so.16.18.0
 *      used by /usr/lib32/libfreetype.so.6 (preserved)
 *      used by /usr/lib32/libfreetype.so.6.11.4 (preserved)
>>> package: media-gfx/graphite2-1.2.4-r1
 *  - /usr/lib32/libgraphite2.so.3
 *  - /usr/lib32/libgraphite2.so.3.0.1
 *      used by /usr/lib32/libharfbuzz.so.0 (preserved)
 *      used by /usr/lib32/libharfbuzz.so.0.941.0 (preserved)
Use emerge @preserved-rebuild to rebuild packages using these libraries


So I think this is because of that harfbuzz<->freetype circular
dependency, which some people/devs on IRC confirm.
"<floppym> bitlord: Yes, it seems to be related to that circular
dependency. libfreetype is being preserved due to libharfbuzz and
vice-versa."

So don't know if this is a portage bug (considering circular
dependencies I guess it is really hard to manage them, so maybe not a
bug really?). In the end I don't need those libs in /usr/lib32
(probably just those listed, others are there intentionally (multilib)),
if I remove them I won't break anything (except maybe package manager
being confused?).

Does anyone know how to manage this? :-)


Reply via email to