[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: