Gentoo Archives: gentoo-user

From: Fernando Rodriguez <frodriguez.developer@×××××××.com>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] Endless preserved-rebuild loop, libmozalloc & more
Date: Tue, 25 Aug 2015 02:29:36
Message-Id: BLU437-SMTP30C475F99ABA85CA0859068D610@phx.gbl
In Reply to: [gentoo-user] Endless preserved-rebuild loop, libmozalloc & more by Alan McKinnon
1 On Monday, August 24, 2015 9:31:38 PM Alan McKinnon wrote:
2 > Does anyone have an opinion to offer on bug 501468?
3 >
4 > https://bugs.gentoo.org/show_bug.cgi?id=501468
5 >
6 > It's been annoying me for a week now with this message:
7 >
8 > !!! existing preserved libs:
9 > >>> package: www-client/firefox-40.0.2
10 > * - /usr/lib64/firefox/libmozalloc.so
11 > * used by /usr/lib64/thunderbird/components/libdbusservice.so
12 > (mail-client/thunderbird-38.2.0)
13 > * used by /usr/lib64/thunderbird/components/libmozgnome.so
14 > (mail-client/thunderbird-38.2.0)
15 > * used by
16 > /usr/lib64/thunderbird/distribution/extensions/{e2fda1a4-762b-4020-b5ad-
17 a41df1933103}/components/libcalbasecomps.so
18 > (mail-client/thunderbird-38.2.0)
19 > * used by 4 other files
20 >
21 >
22 > Both Mozilla products ship this file:
23 >
24 > $ locate libmozalloc
25 > /usr/lib64/firefox/libmozalloc.so
26 > /usr/lib64/thunderbird/libmozalloc.so
27 >
28 > and according to preserved libs, thunderbird linked to the firefox copy.
29 > The only offered solution on the bug is to use a MASK variable, which
30 > seems to me an ugly hammer to swat a fly.
31 >
32 > I was wondering if there's a better way been developed in the last year.
33
34 Actually, now I have a general idea of what's going on and that sounds like an
35 acceptable solution but perhaps I could be better. This is what happens:
36
37 1. revdep-rebuild uses ldd to find breakage. It finds breakage in
38 libdbusservice.so because firefox uses tricks to preload the library from it's
39 directory.
40 2. revdep-rebuild find that thunderbird provides the library and thinks it
41 needs to be rebuild. (And wrongly tells you that firefox links against it).
42
43 A better way would be:
44
45 1. same as step 1 above
46 2. revdep-rebuild checks the package that provides the broken binary (in this
47 case the firefox package), if this package also provides the missing library
48 then it's safe to ignore the problem.
49 3. same as step 2 above.
50
51 Another solution is to make patch firefox to use RPATH so ldd can find the
52 labraries, this would also make prelink work better with firefox but it's
53 probably not ideal to mantain.
54
55
56
57 --
58 Fernando Rodriguez

Replies

Subject Author
Re: [gentoo-user] Endless preserved-rebuild loop, libmozalloc & more Fernando Rodriguez <frodriguez.developer@×××××××.com>
Re: [gentoo-user] Endless preserved-rebuild loop, libmozalloc & more Alan McKinnon <alan.mckinnon@×××××.com>