public inbox for gentoo-amd64@lists.gentoo.org
 help / color / mirror / Atom feed
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




  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