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
Message-Id: AANLkTikRpyKw2cXXQ0NfvXoqbod5vVmLBLhZWDbx3Ytx@mail.gmail.com
1 Hello everyone,
2
3 I'm sure at least half of you are thinking "Oh no, not this again...",
4 and I agree. However, I'm /also/ thinking "Why the heck haven't we
5 done this yet?"
6
7 We've been discussing this since 2008, and probably waaay before that
8 too. The entire discussion about whether we should do this or not has
9 already passed, there is NO NEED to have that again. This email is
10 about discussion on what all is *left* before we can do $SUBJECT.
11
12 What prompted this email? libpng-1.4 and many other upgrades that have
13 left gentoo systems very very broken. We have to resort to random
14 scripts to fix breakage, which reflects very badly on us. Even worse,
15 a lot of users just give up and reinstall their system, or don't
16 upgrade, or just move away from Gentoo.
17
18 I understand that these kind of breakages are inevitable, but with
19 as-needed, we can reduce their effect *drastically*. Instead of having
20 to rebuild almost their entire system, the user would only need to
21 rebuild packages that directly link(ed) to libpng. I honestly think
22 that we cannot afford to expose our users to any more such upgrades
23 without as-needed in the default linux profile.
24
25 There's a tracker bug for this, and the problems still remaining are:
26 http://bugs.gentoo.org/showdependencytree.cgi?id=129413&hide_resolved=1
27
28 *Most* of the problems listed there are forced-as-needed problems,
29 which need to be fixed no doubt, but should NOT block addition of
30 --as-needed to LDFLAGS in make.defaults which will not trigger those
31 build failures.
32
33 What needs to be done now is for someone with lots of CPU power to
34 grab the list of packages[1], and build them one-by-one (all
35 versions), adding to a new list all the ebuilds that fail. How to
36 test:
37
38 LDFLAGS="-Wl,--as-needed" emerge -v1 $atom
39
40 Once we have the list that fails with normal as-needed, we can fix
41 them, get the fix upstreamed (if possible), and switch the flag on.
42 This action should probably be accompanied by a news item informing
43 users about the change, and encouraging them to report the (rare) bug
44 which might hit them.
45
46 Let's try to make Gentoo less frustrating for our users.
47
48 1. http://dev.gentoo.org/~nirbheek/files/as-needed-failures.list
49 --
50 ~Nirbheek Chauhan
51
52 Gentoo GNOME+Mozilla Team

Replies