1 |
On Sat, Dec 26, 2009 at 12:55 PM, Duncan <1i5t5.duncan@×××.net> wrote: |
2 |
> Xi Shen posted on Sat, 26 Dec 2009 12:31:24 +0800 as excerpted: |
3 |
> |
4 |
>> my system is gentoo amd64, kde 4.3, and have recently updated. last time |
5 |
>> i emerged chromium and it works fine. but after updated the world, my |
6 |
>> chromium cannot start up. it reports segment fault. |
7 |
> |
8 |
> Did you do a revdep-rebuild after the last update? Chances are, one of |
9 |
> chromium's dependencies was updated, changing its abi, and chromium (and |
10 |
> perhaps other packages) that depend on it need rebuilt to match the new |
11 |
> abi. |
12 |
> |
13 |
> It's revdep-rebuild that takes care of this, but if you don't run it |
14 |
> routinely, you'll likely have a BUNCH of stuff to rebuild. FWIW, |
15 |
> lafilefixer (with the --justfixit option) can reduce that bunch of stuff |
16 |
> by fixing *.la files that point to other *.la files, to point to the |
17 |
> libraries directly instead. |
18 |
> |
19 |
> Also, you may wish to read up on LDFLAGS="-Wl,--as-needed" and consider |
20 |
> using it too, as it helps kill indirect dependencies. (Say application X |
21 |
> uses library Y, which depends on library Z, but application X doesn't use |
22 |
> any of library Z's functionality directly, so it shouldn't need to |
23 |
> directly depend on it, and shouldn't need to be rebuilt when only library |
24 |
> Z changes. Only library Y would need rebuilt. The as-needed LDFLAGS |
25 |
> help this happen, thus reducing substantially the number of rebuilds |
26 |
> needed, but at a cost of occasionally causing a legit depend to be |
27 |
> missed. But flameeyes has been working on this as one of his projects, |
28 |
> so it doesn't happen very often with at least mainline packages any more, |
29 |
> tho it might in obscure corner cases, the reason it's not yet the |
30 |
> default. So... consider it carefully as there's a major upside and |
31 |
> generally only obscure case downside, but do be aware of the issues if |
32 |
> you decide to use it.) |
33 |
> |
34 |
> Of course, the LDFLAGS as-needed won't help much until you've recompiled |
35 |
> a good part of your system at least once with it in place. But the |
36 |
> lafilefixer thing is just about perfect -- very little downside, it |
37 |
> doesn't take long to run compared to even a couple package rebuilds, and |
38 |
> it can be put to use immediately after you merge it! =:^) |
39 |
> |
40 |
> Together, these reduce the number of revdep-rebuilds SUBSTANTIALLY, and I |
41 |
> run it after every update session. (Actually, my revdep-rebuild invoking |
42 |
> script automatically runs lafilefixer --justfixit before it runs revdep- |
43 |
> rebuild, just to be sure, so I only invoke that script after the update |
44 |
> and it takes care of both.) |
45 |
> |
46 |
> -- |
47 |
> Duncan - List replies preferred. No HTML msgs. |
48 |
> "Every nonfree program has a lord, a master -- |
49 |
> and if you use the program, he is your master." Richard Stallman |
50 |
> |
51 |
> |
52 |
> |
53 |
|
54 |
|
55 |
yes, i have run the revdep-rebuild immediately after update the world. |
56 |
i think you are correct. since chromium is not a main stream package, |
57 |
indirect library dependence may cause this kind of problem. |
58 |
|
59 |
thanks a lot. |
60 |
|
61 |
|
62 |
-- |
63 |
Best Regards, |
64 |
David Shen |
65 |
|
66 |
http://twitter.com/davidshen84/ |
67 |
http://meme.yahoo.com/davidshen84/ |