On Thu, 23 Nov 2023 16:51:37 -0500
Matt Connell <m...@connell.tech> wrote:

> First time I've seen this happen!
> 
> Any time I emerge anything, I get portage telling me I have the
> following preserved libs:
> 
> ---
> 
> !!! existing preserved libs:                                          
> >>> package: app-arch/bzip2-1.0.8-r4                                    
>  *  - /usr/lib/libbz2.so.1                                            
>  *  - /usr/lib/libbz2.so.1.0.8                                        
>  *      used by /usr/lib/libfreetype.so.6 (preserved)                 
>  *      used by /usr/lib/libfreetype.so.6.20.1 (preserved)            
> >>> package: dev-libs/glib-2.76.4                                       
>  *  - /usr/lib/libglib-2.0.so.0                                       
>  *  - /usr/lib/libglib-2.0.so.0.7600.4
>  *      used by /usr/lib/libharfbuzz.so.0 (preserved)                 
>  *      used by /usr/lib/libharfbuzz.so.0.60801.0 (preserved)
> <snip>
> 
> But when I run emerge @preserved-rebuild as one should, all I get is:
> "Nothing to merge; quitting."
> 
> Anyone else experienced this?  How do I figure out what I need to do?

Assuming you're on amd64...  These are 32-bit libraries.  You probably
had abi_x86_32 set on these packages before, and it's not any more.
Normally Portage will remove these if no other (32-bit) package
requires them, but nowadays there is the

    freetype[harfbuzz] -> harfbuzz -> freetype

dependency cycle, so you need to explicitly break the cycle *while
temporarily reenabling 32-bit* to get Portage to remove the libs
cleanly.  Something like, temporarily put this in package.use:

    app-arch/bzip2 abi_x86_32
    dev-libs/glib abi_x86_32
    dev-libs/libpcre2 abi_x86_32
    media-gfx/graphite2 abi_x86_32
    media-libs/freetype abi_x86_32 -harfbuzz  # Break the cycle.
    media-libs/harfbuzz abi_x86_32
    media-libs/libpng abi_x86_32
    sys-libs/zlib abi_x86_32

and reemerge these packages.  Then when you remove these USE flags and
emerge again, the 32-bit libraries will disappear.

Cheers,
Bryan

Reply via email to