Mailing List Archive

Can't get rid of preserved libs
Hello,

Some time ago I installed Steam on my system, which required me to add the abi_x86_32 USE flag to a bunch of packages. Eventually I removed Steam from my system and thus removed the abi_x86_32 USE flag from those packages and rebuilt them, but now ever since doing that, I am stuck with a message telling me about preserve libs and to run emerge @preserved-rebuild to get rid of them, which I tried of course, but it doesn't actually rebuild anything and the message stays.

I also tried manually rebuilding those packages, rebuilding packages which depended on them, I even tried to rebuild @world in an effort to get rid of this message, but nothing seems to be working.
The list of affected libs are as follows:
!!! existing preserved libs:
>>> package: app-arch/bzip2-1.0.8-r1
*  - /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.18.0 (preserved)
>>> package: dev-libs/glib-2.68.4
*  - /usr/lib/libglib-2.0.so.0
*  - /usr/lib/libglib-2.0.so.0.6800.4
*      used by /usr/lib/libharfbuzz.so.0 (preserved)
*      used by /usr/lib/libharfbuzz.so.0.20901.0 (preserved)
>>> package: dev-libs/libpcre-8.45
*  - /usr/lib/libpcre.so.1
*  - /usr/lib/libpcre.so.1.2.13
*      used by /usr/lib/libglib-2.0.so.0 (preserved)
*      used by /usr/lib/libglib-2.0.so.0.6800.4 (preserved)
>>> package: media-gfx/graphite2-1.3.14
*  - /usr/lib/libgraphite2.so.3
*  - /usr/lib/libgraphite2.so.3.2.1
*      used by /usr/lib/libharfbuzz.so.0 (preserved)
*      used by /usr/lib/libharfbuzz.so.0.20901.0 (preserved)
>>> package: media-libs/freetype-2.11.0-r1
*  - /usr/lib/libfreetype.so.6
*  - /usr/lib/libfreetype.so.6.18.0
*      used by /usr/lib/libharfbuzz.so.0 (preserved)
*      used by /usr/lib/libharfbuzz.so.0.20901.0 (preserved)
>>> package: media-libs/harfbuzz-2.9.1
*  - /usr/lib/libharfbuzz.so.0
*  - /usr/lib/libharfbuzz.so.0.20901.0
*      used by /usr/lib/libfreetype.so.6 (preserved)
*      used by /usr/lib/libfreetype.so.6.18.0 (preserved)
>>> package: media-libs/libpng-1.6.37-r2
*  - /usr/lib/libpng16.so.16
*  - /usr/lib/libpng16.so.16.37.0
*      used by /usr/lib/libfreetype.so.6 (preserved)
*      used by /usr/lib/libfreetype.so.6.18.0 (preserved)
>>> package: sys-libs/zlib-1.2.11-r4
*  - /usr/lib/libz.so.1
*  - /usr/lib/libz.so.1.2.11
*      used by /usr/lib/libfreetype.so.6 (preserved)
*      used by /usr/lib/libfreetype.so.6.18.0 (preserved)
*      used by /usr/lib/libpng16.so.16 (preserved)
*      used by /usr/lib/libpng16.so.16.37.0 (preserved)
Use emerge @preserved-rebuild to rebuild packages using these libraries

I would appreciate any help to get rid of this message.

Thanks,
Julien
--
Sent with Tutanota, the secure & ad-free mailbox.
Re: Can't get rid of preserved libs [ In reply to ]
I bet you've got a circular dependency on freetype and harfbuzz. Look
for a thread I started with the subject "The old wine/harfbuzz/freetype
circle" - you need to track down the package which is holding those two.

What I would try is to forcibly remove (emerge -C) both those two
packages, and then hope it sorts itself out. The danger is you then get
another nasty conundrum as they try and re-install themselves .

The other thing is, try and find out whether libglib and libpng16 are
critical. libpng certainly not, libglib I don't know. You might have to
forcibly remove them as well.

I had the problem the other way round, I was trying to add abi_x86_32
for wine, and basically it's that harfbuzz won't install because it
needs freetype to be installed first, and freetype won't install because
it needs harfbuzz to be installed first. Whoops!

You need to force harfbuzz to install with "USE=-freetype", then you can
install freetype, then you can install harfbuzz (or the other way round,
doesn't matter). What does matter is you need to track down the
problematic package that needs both harfbuzz and freetype and is locking
them in.

I *think* what I did was try to force install one of them without
depending on the other, then looking at the trace which told me which
package was over-riding my use settings, temporarily deleting that
package (emerge -C pango in my case), emerging freetype and harfbuzz
--oneshot without dependencies on each other, and then just an "update
world" to clean up the mess.

Cheers,
Wol

On 21/11/2021 20:39, Julien Roy wrote:
> Hello,
>
> Some time ago I installed Steam on my system, which required me to add
> the abi_x86_32 USE flag to a bunch of packages. Eventually I removed
> Steam from my system and thus removed the abi_x86_32 USE flag from those
> packages and rebuilt them, but now ever since doing that, I am stuck
> with a message telling me about preserve libs and to run emerge
> @preserved-rebuild to get rid of them, which I tried of course, but it
> doesn't actually rebuild anything and the message stays.
>
> I also tried manually rebuilding those packages, rebuilding packages
> which depended on them, I even tried to rebuild @world in an effort to
> get rid of this message, but nothing seems to be working.
>
> The list of affected libs are as follows:
> !!! existing preserved libs:
>>>> package: app-arch/bzip2-1.0.8-r1
> *  - /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.18.0 (preserved)
>>>> package: dev-libs/glib-2.68.4
> *  - /usr/lib/libglib-2.0.so.0
> *  - /usr/lib/libglib-2.0.so.0.6800.4
> *      used by /usr/lib/libharfbuzz.so.0 (preserved)
> *      used by /usr/lib/libharfbuzz.so.0.20901.0 (preserved)
>>>> package: dev-libs/libpcre-8.45
> *  - /usr/lib/libpcre.so.1
> *  - /usr/lib/libpcre.so.1.2.13
> *      used by /usr/lib/libglib-2.0.so.0 (preserved)
> *      used by /usr/lib/libglib-2.0.so.0.6800.4 (preserved)
>>>> package: media-gfx/graphite2-1.3.14
> *  - /usr/lib/libgraphite2.so.3
> *  - /usr/lib/libgraphite2.so.3.2.1
> *      used by /usr/lib/libharfbuzz.so.0 (preserved)
> *      used by /usr/lib/libharfbuzz.so.0.20901.0 (preserved)
>>>> package: media-libs/freetype-2.11.0-r1
> *  - /usr/lib/libfreetype.so.6
> *  - /usr/lib/libfreetype.so.6.18.0
> *      used by /usr/lib/libharfbuzz.so.0 (preserved)
> *      used by /usr/lib/libharfbuzz.so.0.20901.0 (preserved)
>>>> package: media-libs/harfbuzz-2.9.1
> *  - /usr/lib/libharfbuzz.so.0
> *  - /usr/lib/libharfbuzz.so.0.20901.0
> *      used by /usr/lib/libfreetype.so.6 (preserved)
> *      used by /usr/lib/libfreetype.so.6.18.0 (preserved)
>>>> package: media-libs/libpng-1.6.37-r2
> *  - /usr/lib/libpng16.so.16
> *  - /usr/lib/libpng16.so.16.37.0
> *      used by /usr/lib/libfreetype.so.6 (preserved)
> *      used by /usr/lib/libfreetype.so.6.18.0 (preserved)
>>>> package: sys-libs/zlib-1.2.11-r4
> *  - /usr/lib/libz.so.1
> *  - /usr/lib/libz.so.1.2.11
> *      used by /usr/lib/libfreetype.so.6 (preserved)
> *      used by /usr/lib/libfreetype.so.6.18.0 (preserved)
> *      used by /usr/lib/libpng16.so.16 (preserved)
> *      used by /usr/lib/libpng16.so.16.37.0 (preserved)
> Use emerge @preserved-rebuild to rebuild packages using these libraries
>
> I would appreciate any help to get rid of this message.
>
> Thanks,
> Julien
>
> --
> Sent with Tutanota, the secure & ad-free mailbox.
Re: Can't get rid of preserved libs [ In reply to ]
>
> <snip>
> Use emerge @preserved-rebuild to rebuild packages using these libraries
>
> I would appreciate any help to get rid of this message.
>
>
>
https://wiki.gentoo.org/wiki/User:Sam/Portage_help/Circular_dependencies
Re: Can't get rid of preserved libs [ In reply to ]
Thanks for this, I first tried to unmerge freetype and harfbuzz, then re-emerge them both with -harfbuzz USE flag on freetype, which didn't solve my problem, so I decided to unmerge all the packages that were listed in the message, which, although risky (bzip2 was included!), solved my problem.

I did end up "breaking" my system due to unmerging bzip2 but thankfully I had another Gentoo system on the same architecture to copy over the bzip2 binary and allow me to rebuild the packages.
After doing this, I no longer have any preserved packages output from portage, so my problem is solved!

Thanks again,
Julien
--
Sent with Tutanota, the secure & ad-free mailbox.



Nov 21, 2021, 16:54 by antlists@youngman.org.uk:

> I bet you've got a circular dependency on freetype and harfbuzz. Look for a thread I started with the subject "The old wine/harfbuzz/freetype circle" - you need to track down the package which is holding those two.
>
> What I would try is to forcibly remove (emerge -C) both those two packages, and then hope it sorts itself out. The danger is you then get another nasty conundrum as they try and re-install themselves .
>
> The other thing is, try and find out whether libglib and libpng16 are critical. libpng certainly not, libglib I don't know. You might have to forcibly remove them as well.
>
> I had the problem the other way round, I was trying to add abi_x86_32 for wine, and basically it's that harfbuzz won't install because it needs freetype to be installed first, and freetype won't install because it needs harfbuzz to be installed first. Whoops!
>
> You need to force harfbuzz to install with "USE=-freetype", then you can install freetype, then you can install harfbuzz (or the other way round, doesn't matter). What does matter is you need to track down the problematic package that needs both harfbuzz and freetype and is locking them in.
>
> I *think* what I did was try to force install one of them without depending on the other, then looking at the trace which told me which package was over-riding my use settings, temporarily deleting that package (emerge -C pango in my case), emerging freetype and harfbuzz --oneshot without dependencies on each other, and then just an "update world" to clean up the mess.
>
> Cheers,
> Wol
>
Re: Can't get rid of preserved libs [ In reply to ]
On Mon, 22 Nov 2021 01:49:04 +0100 (CET)
Julien Roy <julien@jroy.ca> wrote:

> Thanks for this, I first tried to unmerge freetype and harfbuzz,
> then re-emerge them both with -harfbuzz USE flag on freetype, which
> didn't solve my problem, so I decided to unmerge all the packages
> that were listed in the message, which, although risky (bzip2 was
> included!), solved my problem.
>
> I did end up "breaking" my system due to unmerging bzip2 but
> thankfully I had another Gentoo system on the same architecture to
> copy over the bzip2 binary and allow me to rebuild the packages.
> After doing this, I no longer have any preserved packages output
> from portage, so my problem is solved!
>
> Thanks again,
> Julien

I've got the same issue, after purging Wine trying to get an
out-of-date machine back in working order. It's an amd64 machine, and
the following 32-bit libs are preserved endlessly, I believe due to
the freetype-harfbuzz cycle, since they all now have ABI_X86="64 -32":

$ portageq list_preserved_libs /
app-arch/bzip2-1.0.8-r1 /usr/lib/libbz2.so.1.0.8 /usr/lib/libbz2.so.1
dev-libs/glib-2.68.4 /usr/lib/libglib-2.0.so.0.6800.3 /usr/lib/libglib-2.0.so.0
dev-libs/libpcre-8.45 /usr/lib/libpcre.so.1.2.13 /usr/lib/libpcre.so.1
media-gfx/graphite2-1.3.14 /usr/lib/libgraphite2.so.3.2.1 /usr/lib/libgraphite2.so.3
media-libs/freetype-2.11.0-r1 /usr/lib/libfreetype.so.6.18.0 /usr/lib/libfreetype.so.6
media-libs/harfbuzz-3.1.1 /usr/lib/libharfbuzz.so.0.20901.0 /usr/lib/libharfbuzz.so.0
media-libs/libpng-1.6.37-r2 /usr/lib/libpng16.so.16.37.0 /usr/lib/libpng16.so.16

I don't really look forward to uninstalling bzip2. Manually
uninstalling and reinstalling freetype and harfbuzz doesn't fix the
issue. I am thinking about deleting all of these libraries by hand
and then rebuilding the packages, or perhaps unmerging freetype and
harfbuzz with FEATURES="-preserved-libs". I'm not sure if this will
clean up all of Portage's metadata about the libraries though.

Any insight into a 'proper' way to fix this would be appreciated.

Cheers,
Bryan
Re: Can't get rid of preserved libs [ In reply to ]
On 12/12/2021 05:55, Bryan Gardiner wrote:
> I don't really look forward to uninstalling bzip2. Manually
> uninstalling and reinstalling freetype and harfbuzz doesn't fix the
> issue. I am thinking about deleting all of these libraries by hand
> and then rebuilding the packages, or perhaps unmerging freetype and
> harfbuzz with FEATURES="-preserved-libs". I'm not sure if this will
> clean up all of Portage's metadata about the libraries though.
>
> Any insight into a 'proper' way to fix this would be appreciated.

If you read the messages, it should tell you which program is actually
pulling freetype and harfbuzz in with the flags you don't want. Are they
currently installed with the correct flags you want?

If they don't have the flags you want, try to force-emerge them with the
flags you do want and portage will complain "can't do that because of
..." That should tell you the problem program. Do an emerge -C on that
program, re-emerge harfbuzz and freetype with the correct flags, and you
SHOULD be home and dry ...

Cheers,
Wol
Re: Can't get rid of preserved libs [ In reply to ]
On Sun, 12 Dec 2021 10:05:58 +0000
Wols Lists <antlists@youngman.org.uk> wrote:

> On 12/12/2021 05:55, Bryan Gardiner wrote:
> > I don't really look forward to uninstalling bzip2. Manually
> > uninstalling and reinstalling freetype and harfbuzz doesn't fix the
> > issue. I am thinking about deleting all of these libraries by hand
> > and then rebuilding the packages, or perhaps unmerging freetype and
> > harfbuzz with FEATURES="-preserved-libs". I'm not sure if this will
> > clean up all of Portage's metadata about the libraries though.
> >
> > Any insight into a 'proper' way to fix this would be appreciated.
>
> If you read the messages, it should tell you which program is actually
> pulling freetype and harfbuzz in with the flags you don't want. Are they
> currently installed with the correct flags you want?
>
> If they don't have the flags you want, try to force-emerge them with the
> flags you do want and portage will complain "can't do that because of
> ..." That should tell you the problem program. Do an emerge -C on that
> program, re-emerge harfbuzz and freetype with the correct flags, and you
> SHOULD be home and dry ...

Hi and thanks,

I finally had time to look at this again, and setting USE=-harfbuzz
and running

ABI_X86_32='32 64' emerge -v1 freetype harfbuzz
emerge -v1 freetype harfbuzz

fixed it (by breaking the 32-bit freetype -> harfbuzz dep). I don't
know where I went wrong before. I also broke Portage temporarily by
force-emerging the older harfbuzz that the preserved lib was from, and
hit bug #521968, but it's all good now.

Cheers,
Bryan