Debian Bug report logs - #808181
libc6: Upgrade can make the linker unusable

version graph

Package: libc6-dev; Maintainer for libc6-dev is GNU Libc Maintainers <[email protected]>; Source for libc6-dev is src:glibc (PTS, buildd, popcon).

Reported by: Dima Kogan <[email protected]>

Date: Wed, 16 Dec 2015 21:18:02 UTC

Severity: serious

Tags: stretch

Merged with 808205, 808206

Found in version glibc/2.21-4

Done: Aurelien Jarno <[email protected]>

Bug is archived. No further changes may be made.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to [email protected], [email protected], GNU Libc Maintainers <[email protected]>:
Bug#808181; Package libc6. (Wed, 16 Dec 2015 21:18:06 GMT) (full text, mbox, link).


Acknowledgement sent to Dima Kogan <[email protected]>:
New Bug report received and forwarded. Copy sent to [email protected], GNU Libc Maintainers <[email protected]>. (Wed, 16 Dec 2015 21:18:06 GMT) (full text, mbox, link).


Message #5 received at [email protected] (full text, mbox, reply):

From: Dima Kogan <[email protected]>
To: Debian Bug Tracking System <[email protected]>
Subject: libc6: Upgrade can make the linker unusable
Date: Wed, 16 Dec 2015 13:15:47 -0800
Package: libc6
Severity: normal

Hi. I had

  libc6    = 2.19-22
  binutils = 2.25-4

and all was well. Then I upgraded to libc6 = 2.21-4 (currently latest in
sid). As a result, even the most basic build-time linking would fail.
For instance, with a trivial hello-world program:

  $ gcc-5 -o tst tst.c                                            

  /usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/crti.o: unrecognized relocation (0x2a) in section `.init'
  /usr/bin/ld: final link failed: Bad value
  collect2: error: ld returned 1 exit status

This would happen with gcc-5 and with gcc-4.9. Downgrading libc6 would
fix it. After some fiddling I realized that upgrading to binutils =
2.25.90.20151209-1 (currently latest in sid) fixes it. I.e. with the
latest libc6 and the latest binutils packages things work.

Can the broken combination be prevented with some Conflicts: tags?
Currently this is a trap for the unwary.



Information forwarded to [email protected], GNU Libc Maintainers <[email protected]>:
Bug#808181; Package libc6. (Wed, 16 Dec 2015 22:39:03 GMT) (full text, mbox, link).


Acknowledgement sent to Aurelien Jarno <[email protected]>:
Extra info received and forwarded to list. Copy sent to GNU Libc Maintainers <[email protected]>. (Wed, 16 Dec 2015 22:39:03 GMT) (full text, mbox, link).


Message #10 received at [email protected] (full text, mbox, reply):

From: Aurelien Jarno <[email protected]>
To: Dima Kogan <[email protected]>, [email protected]
Subject: Re: Bug#808181: libc6: Upgrade can make the linker unusable
Date: Wed, 16 Dec 2015 23:36:51 +0100
On 2015-12-16 13:15, Dima Kogan wrote:
> Package: libc6
> Severity: normal
> 
> Hi. I had
> 
>   libc6    = 2.19-22
>   binutils = 2.25-4
> 
> and all was well. Then I upgraded to libc6 = 2.21-4 (currently latest in
> sid). As a result, even the most basic build-time linking would fail.
> For instance, with a trivial hello-world program:
> 
>   $ gcc-5 -o tst tst.c                                            
> 
>   /usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/crti.o: unrecognized relocation (0x2a) in section `.init'
>   /usr/bin/ld: final link failed: Bad value
>   collect2: error: ld returned 1 exit status
> 
> This would happen with gcc-5 and with gcc-4.9. Downgrading libc6 would
> fix it. After some fiddling I realized that upgrading to binutils =
> 2.25.90.20151209-1 (currently latest in sid) fixes it. I.e. with the
> latest libc6 and the latest binutils packages things work.

The problem is not introduced by the glibc, but just by the fact that
it has been built with a recent binutils version which adds new
relocation types on i386 and amd64. This means that ALL static libraries
are affected by this problem.

> Can the broken combination be prevented with some Conflicts: tags?
> Currently this is a trap for the unwary.

I therefore don't think we need to fix that at the glibc level. Either
we just ignore the problem saying we don't support partial upgrades or
we try to find a global way to fix the dependencies for all libraries.

Aurelien

-- 
Aurelien Jarno                          GPG: 4096R/1DDD8C9B
[email protected]                 http://www.aurel32.net



Information forwarded to [email protected], GNU Libc Maintainers <[email protected]>:
Bug#808181; Package libc6. (Thu, 17 Dec 2015 08:27:04 GMT) (full text, mbox, link).


Acknowledgement sent to Christophe <[email protected]>:
Extra info received and forwarded to list. Copy sent to GNU Libc Maintainers <[email protected]>. (Thu, 17 Dec 2015 08:27:04 GMT) (full text, mbox, link).


Message #15 received at [email protected] (full text, mbox, reply):

From: Christophe <[email protected]>
To: [email protected]
Subject: Re: Bug#808181: libc6: Upgrade can make the linker unusable
Date: Thu, 17 Dec 2015 09:23:02 +0100
[Message part 1 (text/plain, inline)]
I am not sure to understand correctly...
I currently have the same behavior with Stretch without sid/experimental
repository, and I see binutils is not ready to migrate from testing, so no
partial updates here I think.
I  do not understand how libc6-dev came built with an unavailable binutils
version on Stretch.

Christophe
[Message part 2 (text/html, inline)]

Information forwarded to [email protected], GNU Libc Maintainers <[email protected]>:
Bug#808181; Package libc6. (Thu, 17 Dec 2015 08:42:04 GMT) (full text, mbox, link).


Acknowledgement sent to Emmanuel Charpentier <[email protected]>:
Extra info received and forwarded to list. Copy sent to GNU Libc Maintainers <[email protected]>. (Thu, 17 Dec 2015 08:42:04 GMT) (full text, mbox, link).


Message #20 received at [email protected] (full text, mbox, reply):

From: Emmanuel Charpentier <[email protected]>
To: [email protected]
Subject: libc6: Upgrade can make the linker unusable
Date: Thu, 17 Dec 2015 09:39:26 +0100
Dear developers,

I've just got bitten by this bug. About 3 millimeters from my carotid
artery...

This bugs effectively renders my system unusable for compilation
purposes : even extremely mundane uses, such as upgradng some R
packages, is now impossible.

Suggestions :

1) The gravity of this bug should be elevated : it renders the system
unusable at least for some mundane uses.
2) The upgrade to glibc should be conditioned to the upgrade of
binutils
3) A workaround should be posted on this bug report as soon as possible
(upgrade to unstable's binutils ?), and possibly publicized by larger
means (finding this bug is not obvious for pedestrian users like
me...).

Sincerely yours,

--
Emmanuel Charpentier






Information forwarded to [email protected], GNU Libc Maintainers <[email protected]>:
Bug#808181; Package libc6. (Thu, 17 Dec 2015 09:36:04 GMT) (full text, mbox, link).


Acknowledgement sent to Vlad Orlov <[email protected]>:
Extra info received and forwarded to list. Copy sent to GNU Libc Maintainers <[email protected]>. (Thu, 17 Dec 2015 09:36:04 GMT) (full text, mbox, link).


Message #25 received at [email protected] (full text, mbox, reply):

From: Vlad Orlov <[email protected]>
To: [email protected]
Subject: Re: Bug#808181: libc6: Upgrade can make the linker unusable
Date: Thu, 17 Dec 2015 12:29:54 +0300
Control: severity -1 important
Control: tags -1 stretch


Hi,

Just stumbled upon this today in Testing (Stretch) - after today's libc6 upgrade.
This issue breaks compilation of ANY autotools-based project as ld fails early in the configure phase:

configure:3441: checking whether the C compiler works
configure:3463: gcc -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -Wl,-z,relro conftest.c  >&5
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/crti.o: unrecognized relocation (0x2a) in section `.init'
/usr/bin/ld: final link failed: Bad value
collect2: error: ld returned 1 exit status


The system has been updated with the usual dist-upgrade, so I don't understand the mentioning
of some partial upgrades above (and completely don't understand the part about "ignore the problem").

Severity set to 'important' from 'normal' Request was from Vlad Orlov <[email protected]> to [email protected]. (Thu, 17 Dec 2015 09:36:05 GMT) (full text, mbox, link).


Added tag(s) stretch. Request was from Vlad Orlov <[email protected]> to [email protected]. (Thu, 17 Dec 2015 09:36:06 GMT) (full text, mbox, link).


Information forwarded to [email protected], GNU Libc Maintainers <[email protected]>:
Bug#808181; Package libc6. (Thu, 17 Dec 2015 10:15:04 GMT) (full text, mbox, link).


Acknowledgement sent to Aurelien Jarno <[email protected]>:
Extra info received and forwarded to list. Copy sent to GNU Libc Maintainers <[email protected]>. (Thu, 17 Dec 2015 10:15:04 GMT) (full text, mbox, link).


Message #34 received at [email protected] (full text, mbox, reply):

From: Aurelien Jarno <[email protected]>
To: Dima Kogan <[email protected]>, Christophe <[email protected]>, Emmanuel Charpentier <[email protected]>, Vlad Orlov <[email protected]>, John Aston <[email protected]>, Max Kellermann <[email protected]>
Cc: [email protected], [email protected], [email protected]
Subject: Re: Bug#808181: libc6: Upgrade can make the linker unusable
Date: Thu, 17 Dec 2015 11:10:43 +0100
reassign 808181 libc6-dev
reassign 808205 libc6-dev
forcemerge 808181 808205
forcemerge 808181 808206
severity 808181 serious
thanks

On 2015-12-16 23:36, Aurelien Jarno wrote:
> On 2015-12-16 13:15, Dima Kogan wrote:
> > Package: libc6
> > Severity: normal
> > 
> > Hi. I had
> > 
> >   libc6    = 2.19-22
> >   binutils = 2.25-4
> > 
> > and all was well. Then I upgraded to libc6 = 2.21-4 (currently latest in
> > sid). As a result, even the most basic build-time linking would fail.
> > For instance, with a trivial hello-world program:
> > 
> >   $ gcc-5 -o tst tst.c                                            
> > 
> >   /usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/crti.o: unrecognized relocation (0x2a) in section `.init'
> >   /usr/bin/ld: final link failed: Bad value
> >   collect2: error: ld returned 1 exit status
> > 
> > This would happen with gcc-5 and with gcc-4.9. Downgrading libc6 would
> > fix it. After some fiddling I realized that upgrading to binutils =
> > 2.25.90.20151209-1 (currently latest in sid) fixes it. I.e. with the
> > latest libc6 and the latest binutils packages things work.
> 
> The problem is not introduced by the glibc, but just by the fact that
> it has been built with a recent binutils version which adds new
> relocation types on i386 and amd64. This means that ALL static libraries
> are affected by this problem.
> 
> > Can the broken combination be prevented with some Conflicts: tags?
> > Currently this is a trap for the unwary.
> 
> I therefore don't think we need to fix that at the glibc level. Either
> we just ignore the problem saying we don't support partial upgrades or
> we try to find a global way to fix the dependencies for all libraries.

We are working to migrate binutils version 2.25.90.20151209-1 into
testing asap. If everything goes well it should be the case after the
13:52 UTC dinstall run, so a few hours after that on the mirrors.

In the meantime fetching and installing this version from sid, should
solve the issue.

Aurelien

-- 
Aurelien Jarno                          GPG: 4096R/1DDD8C9B
[email protected]                 http://www.aurel32.net



Bug reassigned from package 'libc6' to 'libc6-dev'. Request was from Aurelien Jarno <[email protected]> to [email protected]. (Thu, 17 Dec 2015 10:15:12 GMT) (full text, mbox, link).


Merged 808181 808205 Request was from Aurelien Jarno <[email protected]> to [email protected]. (Thu, 17 Dec 2015 10:15:15 GMT) (full text, mbox, link).


Marked as found in versions glibc/2.21-4. Request was from Aurelien Jarno <[email protected]> to [email protected]. (Thu, 17 Dec 2015 10:15:18 GMT) (full text, mbox, link).


Merged 808181 808205 808206 Request was from Aurelien Jarno <[email protected]> to [email protected]. (Thu, 17 Dec 2015 10:15:22 GMT) (full text, mbox, link).


Severity set to 'serious' from 'important' Request was from Aurelien Jarno <[email protected]> to [email protected]. (Thu, 17 Dec 2015 10:15:24 GMT) (full text, mbox, link).


Information forwarded to [email protected], GNU Libc Maintainers <[email protected]>:
Bug#808181; Package libc6-dev. (Thu, 17 Dec 2015 10:45:12 GMT) (full text, mbox, link).


Acknowledgement sent to Vlad Orlov <[email protected]>:
Extra info received and forwarded to list. Copy sent to GNU Libc Maintainers <[email protected]>. (Thu, 17 Dec 2015 10:45:12 GMT) (full text, mbox, link).


Message #49 received at [email protected] (full text, mbox, reply):

From: Vlad Orlov <[email protected]>
To: Aurelien Jarno <[email protected]>, [email protected]
Subject: Re[2]: Bug#808181: libc6: Upgrade can make the linker unusable
Date: Thu, 17 Dec 2015 13:36:09 +0300
Hi,

> We are working to migrate binutils version 2.25.90.20151209-1 into
> testing asap. If everything goes well it should be the case after the
> 13:52 UTC dinstall run, so a few hours after that on the mirrors.
> 
> In the meantime fetching and installing this version from sid, should
> solve the issue.

Thanks, that version solved the issue indeed. Compilation goes fine now.

Reply sent to Aurelien Jarno <[email protected]>:
You have taken responsibility. (Fri, 18 Dec 2015 13:49:01 GMT) (full text, mbox, link).


Notification sent to Dima Kogan <[email protected]>:
Bug acknowledged by developer. (Fri, 18 Dec 2015 13:49:01 GMT) (full text, mbox, link).


Message #54 received at [email protected] (full text, mbox, reply):

From: Aurelien Jarno <[email protected]>
To: [email protected], [email protected], [email protected]
Subject: Re: Bug#808181: libc6: Upgrade can make the linker unusable
Date: Fri, 18 Dec 2015 14:46:18 +0100
On 2015-12-17 11:10, Aurelien Jarno wrote:
> reassign 808181 libc6-dev
> reassign 808205 libc6-dev
> forcemerge 808181 808205
> forcemerge 808181 808206
> severity 808181 serious
> thanks
> 
> On 2015-12-16 23:36, Aurelien Jarno wrote:
> > On 2015-12-16 13:15, Dima Kogan wrote:
> > > Package: libc6
> > > Severity: normal
> > > 
> > > Hi. I had
> > > 
> > >   libc6    = 2.19-22
> > >   binutils = 2.25-4
> > > 
> > > and all was well. Then I upgraded to libc6 = 2.21-4 (currently latest in
> > > sid). As a result, even the most basic build-time linking would fail.
> > > For instance, with a trivial hello-world program:
> > > 
> > >   $ gcc-5 -o tst tst.c                                            
> > > 
> > >   /usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/crti.o: unrecognized relocation (0x2a) in section `.init'
> > >   /usr/bin/ld: final link failed: Bad value
> > >   collect2: error: ld returned 1 exit status
> > > 
> > > This would happen with gcc-5 and with gcc-4.9. Downgrading libc6 would
> > > fix it. After some fiddling I realized that upgrading to binutils =
> > > 2.25.90.20151209-1 (currently latest in sid) fixes it. I.e. with the
> > > latest libc6 and the latest binutils packages things work.
> > 
> > The problem is not introduced by the glibc, but just by the fact that
> > it has been built with a recent binutils version which adds new
> > relocation types on i386 and amd64. This means that ALL static libraries
> > are affected by this problem.
> > 
> > > Can the broken combination be prevented with some Conflicts: tags?
> > > Currently this is a trap for the unwary.
> > 
> > I therefore don't think we need to fix that at the glibc level. Either
> > we just ignore the problem saying we don't support partial upgrades or
> > we try to find a global way to fix the dependencies for all libraries.
> 
> We are working to migrate binutils version 2.25.90.20151209-1 into
> testing asap. If everything goes well it should be the case after the
> 13:52 UTC dinstall run, so a few hours after that on the mirrors.

binutils version 2.25.90.20151209-1 is now in testing, I am therefore
closing the bug.

-- 
Aurelien Jarno                          GPG: 4096R/1DDD8C9B
[email protected]                 http://www.aurel32.net



Reply sent to Aurelien Jarno <[email protected]>:
You have taken responsibility. (Fri, 18 Dec 2015 13:49:02 GMT) (full text, mbox, link).


Notification sent to John Aston <[email protected]>:
Bug acknowledged by developer. (Fri, 18 Dec 2015 13:49:02 GMT) (full text, mbox, link).


Reply sent to Aurelien Jarno <[email protected]>:
You have taken responsibility. (Fri, 18 Dec 2015 13:49:03 GMT) (full text, mbox, link).


Notification sent to Max Kellermann <[email protected]>:
Bug acknowledged by developer. (Fri, 18 Dec 2015 13:49:03 GMT) (full text, mbox, link).


Information forwarded to [email protected], GNU Libc Maintainers <[email protected]>:
Bug#808181; Package libc6-dev. (Fri, 18 Dec 2015 22:09:04 GMT) (full text, mbox, link).


Acknowledgement sent to Francesco Poli <[email protected]>:
Extra info received and forwarded to list. Copy sent to GNU Libc Maintainers <[email protected]>. (Fri, 18 Dec 2015 22:09:04 GMT) (full text, mbox, link).


Message #67 received at [email protected] (full text, mbox, reply):

From: Francesco Poli <[email protected]>
To: Aurelien Jarno <[email protected]>
Cc: [email protected]
Subject: Re: Bug#808181: libc6: Upgrade can make the linker unusable
Date: Fri, 18 Dec 2015 23:06:24 +0100
[Message part 1 (text/plain, inline)]
On Fri, 18 Dec 2015 14:46:18 +0100 Aurelien Jarno wrote:

[...]
> binutils version 2.25.90.20151209-1 is now in testing, I am therefore
> closing the bug.

Thanks!

I am another user who was bitten by this bug: I worked around it by
installing binutils from unstable. In the meanwhile this bug report was
being filed.

I wonder: is there anything that can be done in order to ensure that
glibc and binutils will always migrate in lockstep in the future?



-- 
 http://www.inventati.org/frx/
 There's not a second to spare! To the laboratory!
..................................................... Francesco Poli .
 GnuPG key fpr == CA01 1147 9CD2 EFDF FB82  3925 3E1C 27E1 1F69 BFFE
[Message part 2 (application/pgp-signature, inline)]

Bug archived. Request was from Debbugs Internal Request <[email protected]> to [email protected]. (Tue, 02 Feb 2016 07:25:42 GMT) (full text, mbox, link).


Send a report that this bug log contains spam.


Debian bug tracking system administrator <[email protected]>. Last modified: Sun Aug 3 01:39:43 2025; Machine Name: bembo

Debian Bug tracking system

Debbugs is free software and licensed under the terms of the GNU General Public License version 2. The current version can be obtained from https://bugs.debian.org/debbugs-source/.

Copyright © 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson, 2005-2017 Don Armstrong, and many other contributors.