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
aurel...@aurel32.net                 http://www.aurel32.net

Reply via email to