From: Duncan <1i5t5.duncan@cox.net>
To: gentoo-amd64@lists.gentoo.org
Cc: gentoo-user@gentoo.org
Subject: [gentoo-amd64] Re: [gentoo-user] chromium failed to start up
Date: Sat, 26 Dec 2009 04:55:07 +0000 (UTC) [thread overview]
Message-ID: <pan.2009.12.26.04.55.07@cox.net> (raw)
In-Reply-To: 53e35fd50912252031q53a5bc77y7f7d8cb79af0df61@mail.gmail.com
Xi Shen posted on Sat, 26 Dec 2009 12:31:24 +0800 as excerpted:
> my system is gentoo amd64, kde 4.3, and have recently updated. last time
> i emerged chromium and it works fine. but after updated the world, my
> chromium cannot start up. it reports segment fault.
Did you do a revdep-rebuild after the last update? Chances are, one of
chromium's dependencies was updated, changing its abi, and chromium (and
perhaps other packages) that depend on it need rebuilt to match the new
abi.
It's revdep-rebuild that takes care of this, but if you don't run it
routinely, you'll likely have a BUNCH of stuff to rebuild. FWIW,
lafilefixer (with the --justfixit option) can reduce that bunch of stuff
by fixing *.la files that point to other *.la files, to point to the
libraries directly instead.
Also, you may wish to read up on LDFLAGS="-Wl,--as-needed" and consider
using it too, as it helps kill indirect dependencies. (Say application X
uses library Y, which depends on library Z, but application X doesn't use
any of library Z's functionality directly, so it shouldn't need to
directly depend on it, and shouldn't need to be rebuilt when only library
Z changes. Only library Y would need rebuilt. The as-needed LDFLAGS
help this happen, thus reducing substantially the number of rebuilds
needed, but at a cost of occasionally causing a legit depend to be
missed. But flameeyes has been working on this as one of his projects,
so it doesn't happen very often with at least mainline packages any more,
tho it might in obscure corner cases, the reason it's not yet the
default. So... consider it carefully as there's a major upside and
generally only obscure case downside, but do be aware of the issues if
you decide to use it.)
Of course, the LDFLAGS as-needed won't help much until you've recompiled
a good part of your system at least once with it in place. But the
lafilefixer thing is just about perfect -- very little downside, it
doesn't take long to run compared to even a couple package rebuilds, and
it can be put to use immediately after you merge it! =:^)
Together, these reduce the number of revdep-rebuilds SUBSTANTIALLY, and I
run it after every update session. (Actually, my revdep-rebuild invoking
script automatically runs lafilefixer --justfixit before it runs revdep-
rebuild, just to be sure, so I only invoke that script after the update
and it takes care of both.)
--
Duncan - List replies preferred. No HTML msgs.
"Every nonfree program has a lord, a master --
and if you use the program, he is your master." Richard Stallman
next prev parent reply other threads:[~2009-12-26 4:56 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-12-26 4:31 [gentoo-amd64] [gentoo-user] chromium failed to start up Xi Shen
2009-12-26 4:55 ` Duncan [this message]
2009-12-26 10:54 ` [gentoo-amd64] " Xi Shen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=pan.2009.12.26.04.55.07@cox.net \
--to=1i5t5.duncan@cox.net \
--cc=gentoo-amd64@lists.gentoo.org \
--cc=gentoo-user@gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox