1 |
On 25/08/2015 19:43, Fernando Rodriguez wrote: |
2 |
> On Tuesday, August 25, 2015 12:30:09 PM Alan McKinnon wrote: |
3 |
>> On 25/08/2015 04:28, Fernando Rodriguez wrote: |
4 |
>>> On Monday, August 24, 2015 9:31:38 PM Alan McKinnon wrote: |
5 |
>>>> Does anyone have an opinion to offer on bug 501468? |
6 |
>>>> |
7 |
>>>> https://bugs.gentoo.org/show_bug.cgi?id=501468 |
8 |
>>>> |
9 |
>>>> It's been annoying me for a week now with this message: |
10 |
>>>> |
11 |
>>>> !!! existing preserved libs: |
12 |
>>>>>>> package: www-client/firefox-40.0.2 |
13 |
>>>> * - /usr/lib64/firefox/libmozalloc.so |
14 |
>>>> * used by /usr/lib64/thunderbird/components/libdbusservice.so |
15 |
>>>> (mail-client/thunderbird-38.2.0) |
16 |
>>>> * used by /usr/lib64/thunderbird/components/libmozgnome.so |
17 |
>>>> (mail-client/thunderbird-38.2.0) |
18 |
>>>> * used by |
19 |
>>>> /usr/lib64/thunderbird/distribution/extensions/{e2fda1a4-762b-4020-b5ad- |
20 |
>>> a41df1933103}/components/libcalbasecomps.so |
21 |
>>>> (mail-client/thunderbird-38.2.0) |
22 |
>>>> * used by 4 other files |
23 |
>>>> |
24 |
>>>> |
25 |
>>>> Both Mozilla products ship this file: |
26 |
>>>> |
27 |
>>>> $ locate libmozalloc |
28 |
>>>> /usr/lib64/firefox/libmozalloc.so |
29 |
>>>> /usr/lib64/thunderbird/libmozalloc.so |
30 |
>>>> |
31 |
>>>> and according to preserved libs, thunderbird linked to the firefox copy. |
32 |
>>>> The only offered solution on the bug is to use a MASK variable, which |
33 |
>>>> seems to me an ugly hammer to swat a fly. |
34 |
>>>> |
35 |
>>>> I was wondering if there's a better way been developed in the last year. |
36 |
>>> |
37 |
>>> Actually, now I have a general idea of what's going on and that sounds |
38 |
> like an |
39 |
>>> acceptable solution but perhaps I could be better. This is what happens: |
40 |
>>> |
41 |
>>> 1. revdep-rebuild uses ldd to find breakage. It finds breakage in |
42 |
>>> libdbusservice.so because firefox uses tricks to preload the library from |
43 |
> it's |
44 |
>>> directory. |
45 |
>>> 2. revdep-rebuild find that thunderbird provides the library and thinks it |
46 |
>>> needs to be rebuild. (And wrongly tells you that firefox links against it). |
47 |
>>> |
48 |
>>> A better way would be: |
49 |
>>> |
50 |
>>> 1. same as step 1 above |
51 |
>>> 2. revdep-rebuild checks the package that provides the broken binary (in |
52 |
> this |
53 |
>>> case the firefox package), if this package also provides the missing |
54 |
> library |
55 |
>>> then it's safe to ignore the problem. |
56 |
>>> 3. same as step 2 above. |
57 |
>>> |
58 |
>>> Another solution is to make patch firefox to use RPATH so ldd can find the |
59 |
>>> labraries, this would also make prelink work better with firefox but it's |
60 |
>>> probably not ideal to mantain. |
61 |
>> |
62 |
>> |
63 |
>> that does make sense. In my case, it's not revdep-rebuild causing |
64 |
>> problems, it's the preserved-rebuild message at the end of emerge -v |
65 |
>> |
66 |
>> At this level is there a difference? |
67 |
> |
68 |
> I don't know the details but it seems to me that portage either uses revdep- |
69 |
> rebuild to find breakage (without scanning the whole system) before deleting |
70 |
> the old libs for good or duplicates some of it's logic. Come to think of it, |
71 |
> the SEARCH_DIR_MASK may not be ideal because if I understand what it does |
72 |
> correctly then real breakage in firefox won't be detected. |
73 |
> |
74 |
|
75 |
My thought too. To me, SEARCH_DIR_MASK is fine for things like |
76 |
/opt/skype because it's binary and either works or it doesn't, and when |
77 |
it doesn't there's not much I can do about it. |
78 |
|
79 |
It may be the least sucky of all available solutions, but it's still |
80 |
swatting a fly with a hammer |
81 |
|
82 |
|
83 |
-- |
84 |
Alan McKinnon |
85 |
alan.mckinnon@×××××.com |