Bug#920286: gcc-8: Missing conflict/break with binutils-x86-64-linux-gnu:i386 can lead to broken compiler
Package: gcc-8
Version: 8.2.0-14
Severity: important
Dear Maintainer,
Probably gcc-8 should be in conflict with binutils-x86-64-linux-gnu:i386 because
of the following chain of events:
- install an unstable amd64 system
- enable multiarch i386
- install gcc-8
- install binutils-x86-64-linux-gnu:i386
=> This will (because of a conflict) uninstall binutils-x86-64-linux-gnu
Now the compiler is broken with this message:
/usr/lib/gcc/x86_64-linux-gnu/8/../../../../x86_64-linux-gnu/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/8/liblto_plugin.so: error loading plugin: /usr/lib/gcc/x86_64-linux-gnu/8/liblto_plugin.so: mauvaise classe ELF : ELFCLASS64
This is because the plugin /usr/lib/gcc/x86_64-linux-gnu/8/liblto_plugin.so
is installed by gcc-8 (it is an amd64 executable) but is loaded by ld. Since
we can independently install the 32-bit version of the binutils, now we
have a 32-bit executable loading a 64-bit library. I am not sure what is the
proper fix but clearly it should be impossible to install the 32-bit version
of binutils with the 64-bit version of gcc-8 because of this plugin.
This probably explains bug #916603 (with gcc-6 instead of gcc-8).
Note that it may be strange to install binutils-x86-64-linux-gnu:i386 but
somehow APT decided to do it on its own at some point and I did not notice
so this can happen automatically.
-- System Information:
Debian Release: buster/sid
APT prefers unstable
APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 4.19.0-1-amd64 (SMP w/4 CPU cores)
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8), LANGUAGE=fr (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
Versions of packages gcc-8 depends on:
ii binutils 2.31.1-11
ii cpp-8 8.2.0-14
ii gcc-8-base 8.2.0-14
ii libc6 2.28-5
ii libcc1-0 8.2.0-14
ii libgcc-8-dev 8.2.0-14
ii libgcc1 1:8.2.0-14
ii libgmp10 2:6.1.2+dfsg-4
ii libisl19 0.20-2
ii libmpc3 1.1.0-1
ii libmpfr6 4.0.2~rc1-1
ii libstdc++6 8.2.0-14
ii zlib1g 1:1.2.11.dfsg-1
Versions of packages gcc-8 recommends:
ii libc6-dev 2.28-5
Versions of packages gcc-8 suggests:
pn gcc-8-doc <none>
pn gcc-8-locales <none>
ii gcc-8-multilib 8.2.0-14
pn libasan5-dbg <none>
pn libatomic1-dbg <none>
pn libgcc1-dbg <none>
pn libgomp1-dbg <none>
pn libitm1-dbg <none>
pn liblsan0-dbg <none>
pn libmpx2-dbg <none>
pn libquadmath0-dbg <none>
pn libtsan0-dbg <none>
pn libubsan1-dbg <none>
-- no debconf information
Reply to: