Dale wrote:
> Bryan Gardiner wrote:
>> On Thu, 23 Nov 2023 16:51:37 -0500
>> Matt Connell 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)
>>>
>>>
>>> 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
>>
>>
>
> Somewhat related. I had a lot of entries in a package.use file for the
> abi 32 version. Those entries were pretty old. They were likely from
> back when some packages hadn't changed to 64 yet but have since then. I
> made a copy of the entries and removed the file. I then did a emerge
> -auDN world and it is changing to 64 version for all of them without
> complaint. I mention this for this reason, anyone reading this may want
> to check any entries they may have but forgot about and see if they can
> be removed on their system as well. This may take care of any future
> problems like this or other problems, such as no 32 version available
> anymore.
>
> Reading this post is what reminded me that I had those entries. I'd
> forgot about it since they are in a separate file from other package.use
> entries. I may not be alone in this.
>
> Dale
>
> :-) :-)
>
This ended up doing that circularharfbuzz and freetype thing. I removed
a couple packages that I have that others may not. I ended up doing
this to get around it and it doesn't require any file editing.
USE="-harfbuzz abi_x86_32" emerge -1va app-arch/bzip2 dev-libs/glib
media-libs/freetype dev-libs/libpcre media-gfx/graphite2
media-libs/harfbuzz media-libs/libpng sys-libs/zlib
And then:
emerge -avuDN --with-bdeps=y @world
I post that just in case someone can't get around the problem with the
info from Bryan. I'm not sure why Bryan's didn't work tho.
Dale
:-) :-)