Gentoo Archives: gentoo-user

From: Alan McKinnon <alan.mckinnon@×××××.com>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] scary (?) situation with binutils
Date: Sat, 16 Sep 2017 20:46:52
Message-Id: 443695d5-6c5d-214c-c6c3-1acc2f1af32a@gmail.com
In Reply to: [gentoo-user] scary (?) situation with binutils by allan gottlieb
1 On 16/09/2017 22:31, allan gottlieb wrote:
2 > I am one of the users experiencing the
3 > infinite rebuild of binutils
4 > bug. Today it took a turn I find worrisome
5
6
7 Replying here so it's at the top.
8
9 Several things are happening, but I suppose the primary one is (and I
10 sorts need to be direct here):
11
12 Stop being scared and stop being confused by the big words. It's
13 blinding you to what is right there is plain sight right in front of you.
14
15 binutils has a history of getting itself and portage confused as to what
16 it needs and does not need with respect to preserved-rebuild. A few
17 other packages do this as well over the years. The most direct solution
18 is to simply unmerge the package, letting portage clean out the slate
19 and all the cruft, then merge the package back. The junk goes away,
20 portage sorts itself out, and stops it's whining.
21
22 The wrinkle as you point out is that you can't merge binutils without
23 bintils as you need ld. But never fear! this is Gentoo and you have all
24 the tools. Just quickpkg it, unmerge the damn thing and untar it back
25 like all the advise you've read tells you to do. Now you have an ld and
26 can properly merge binutils, so do so. portage will complain about file
27 collisions as expected, but because you are doing this in "yes, I DO
28 know what I am doing" mode, say yes.
29
30 That should fix your preserved-rebuild.
31
32
33 Now, for the masking notice. This is a completely different thing and
34 the only similarlity is that this sequence of letters "b,i,n,u,t,i,l,s"
35 shows up in both.
36
37 binutils is slotted. You have 2.28.1 and the mask applies to 2.25.1-r1
38 Portage is really saying "Yo dude, so this binutils you have? I've been
39 told to mask it and not just use it. You need to tell me if you want to
40 use it anyway, or if I can kill it with fire, or what."
41
42 It's a simple problem of deciding what you want to do. 2.25 is ancient,
43 so if you have it installed for some reason, you should find out why and
44 deal with that. It's probably safe, but you do need to find why you have
45 it first. Then proceed as a routine package removal (which is actually
46 all this is).
47
48
49 >
50 > To summarize for months now after every emerge I get
51 >
52 > !!! existing preserved libs:
53 > >>> package: sys-libs/binutils-libs-2.28.1
54 > * - /usr/lib64/libbfd-2.25.1.so
55 > * used by
56 > /usr/lib64/binutils/x86_64-pc-linux-gnu/2.25.1/libopcodes-2.25.1.so
57 > (sys-devel/binutils-2.25.1-r1)
58 > Use emerge @preserved-rebuild to rebuild packages using these libraries
59 >
60 > If if then
61 > emerge @preserved-rebuild
62 > it rebuilds binutils but I still get the above message. I have rebuilt
63 > it at least a dozen times in the past months.
64 >
65 > A solution was posted that involved making a quickpkg (I think),
66 > unmerging binutils, and then manually untaring (after the unmerge of
67 > binutils you can't simply remerge since ld is gone).
68 >
69 > This solution frightened me and I am living with always being told to run
70 > emerge @preserved-rebuild
71 > and actually doing that fruitless emerge about once a month.
72 >
73 > Today was different, I guess because binutils-lib was involved
74 >
75 > My "twice-weekly"
76 > emerge --update --changed-use --with-bdeps=y @world
77 > resulted in
78 > Calculating dependencies... done!
79 > [ebuild NS ] sys-kernel/gentoo-sources-4.12.12 [3.10.3-r1, 3.11.0, 3.12.13, 3.18.11, 3.18.12, 4.0.5, 4.0.9, 4.1.12, 4.1.15-r1, 4.4.6, 4.4.21, 4.4.26, 4.4.39, 4.9.6-r1, 4.9.16, 4.9.34, 4.12.5] USE="-build -experimental -symlink"
80 > [ebuild U ] www-plugins/adobe-flash-27.0.0.130-r1 [27.0.0.130]
81 > [ebuild rR ] x11-libs/cairo-1.14.8
82 > [ebuild r U ] sys-libs/binutils-libs-2.28.1 [2.28-r1]
83 >
84 > The following packages are causing rebuilds:
85 >
86 > (sys-libs/binutils-libs-2.28.1:0/2.28.1::gentoo, ebuild scheduled for merge) causes rebuilds for:
87 > (x11-libs/cairo-1.14.8:0/0::gentoo, ebuild scheduled for merge)
88 >
89 > When the emerge finished I received the usual
90 >
91 > !!! existing preserved libs:
92 >>>> package: sys-libs/binutils-libs-2.28.1
93 > * - /usr/lib64/libbfd-2.25.1.so
94 > * used by /usr/lib64/binutils/x86_64-pc-linux-gnu/2.25.1/libopcodes-2.25.1.so (sys-devel/binutils-2.25.1-r1)
95 > Use emerge @preserved-rebuild to rebuild packages using these libraries
96 >
97 > But when I ran
98 > emerge @preserved-rebuild
99 > out came the following
100 >
101 > The following mask changes are necessary to proceed:
102 > (see "package.unmask" in the portage(5) man page for more details)
103 > # required by @preserved-rebuild (argument)
104 > # /var/portage/profiles/package.mask:
105 > # Michał Górny <mgorny@g.o>, Andreas K. Hüttel <dilfridge@g.o>,
106 > # Matthias Maier <tamiko@g.o> (21 May 2017)
107 > # These old versions of toolchain packages (binutils, gcc, glibc) are no
108 > # longer officially supported and are not suitable for general use. Using
109 > # these packages can result in build failures (and possible breakage) for
110 > # many packages, and may leave your system vulnerable to known security
111 > # exploits.
112 > # If you still use one of these old toolchain packages, please upgrade (and
113 > # switch the compiler / the binutils) ASAP. If you need them for a specific
114 > # (isolated) use case, feel free to unmask them on your system.
115 > =sys-devel/binutils-2.25.1-r1
116 >
117 > NOTE: The --autounmask-keep-masks option will prevent emerge
118 > from creating package.unmask or ** keyword changes.
119 >
120 > Would you like to add these changes to your config files? [Yes/No]
121 >
122 > I said no since I don't want to unmask, but am not sure how to proceed
123 >
124 > Thanks in advance for any help.
125 >
126 > allan
127 >
128 >
129
130
131 --
132 Alan McKinnon
133 alan.mckinnon@×××××.com