Gentoo Archives: gentoo-dev

From: Nirbheek Chauhan <nirbheek@g.o>
To: Gentoo Dev <gentoo-dev@l.g.o>
Subject: [gentoo-dev] Adding --as-needed to LDFLAGS in profiles/default/linux/make.defaults
Date: Mon, 28 Jun 2010 01:10:01
Hello everyone,

I'm sure at least half of you are thinking "Oh no, not this again...",
and I agree. However, I'm /also/ thinking "Why the heck haven't we
done this yet?"

We've been discussing this since 2008, and probably waaay before that
too. The entire discussion about whether we should do this or not has
already passed, there is NO NEED to have that again. This email is
about discussion on what all is *left* before we can do $SUBJECT.

What prompted this email? libpng-1.4 and many other upgrades that have
left gentoo systems very very broken. We have to resort to random
scripts to fix breakage, which reflects very badly on us. Even worse,
a lot of users just give up and reinstall their system, or don't
upgrade, or just move away from Gentoo.

I understand that these kind of breakages are inevitable, but with
as-needed, we can reduce their effect *drastically*. Instead of having
to rebuild almost their entire system, the user would only need to
rebuild packages that directly link(ed) to libpng. I honestly think
that we cannot afford to expose our users to any more such upgrades
without as-needed in the default linux profile.

There's a tracker bug for this, and the problems still remaining are:

*Most* of the problems listed there are forced-as-needed problems,
which need to be fixed no doubt, but should NOT block addition of
--as-needed to LDFLAGS in make.defaults which will not trigger those
build failures.

What needs to be done now is for someone with lots of CPU power to
grab the list of packages[1], and build them one-by-one (all
versions), adding to a new list all the ebuilds that fail. How to

LDFLAGS="-Wl,--as-needed" emerge -v1 $atom

Once we have the list that fails with normal as-needed, we can fix
them, get the fix upstreamed (if possible), and switch the flag on.
This action should probably be accompanied by a news item informing
users about the change, and encouraging them to report the (rare) bug
which might hit them.

Let's try to make Gentoo less frustrating for our users.

~Nirbheek Chauhan

Gentoo GNOME+Mozilla Team