Bug#752927: llvm-gcc-4.7 and llvm-gcc: error when trying to install together

Ralf Treinen rt at free.fr
Fri Jun 27 20:12:45 UTC 2014


Package: llvm-gcc,llvm-gcc-4.7
Version: llvm-gcc/3.4-1
Version: llvm-gcc-4.7/3.3-2
Severity: serious
User: treinen at debian.org
Usertags: edos-file-overwrite

Date: 2014-06-27
Architecture: amd64
Distribution: sid

Hi,

automatic installation tests of packages that share a file and at the
same time do not conflict by their package dependency relationships has
detected the following problem:



Extracting templates from packages: 83%
Extracting templates from packages: 100%
Selecting previously unselected package gcc-4.9-base:amd64.
(Reading database ... 10931 files and directories currently installed.)
Preparing to unpack .../gcc-4.9-base_4.9.0-8_amd64.deb ...
Unpacking gcc-4.9-base:amd64 (4.9.0-8) ...
Setting up gcc-4.9-base:amd64 (4.9.0-8) ...
(Reading database ... 10938 files and directories currently installed.)
Preparing to unpack .../libgcc1_1%3a4.9.0-8_amd64.deb ...
Unpacking libgcc1:amd64 (1:4.9.0-8) over (1:4.8.2-19) ...
Setting up libgcc1:amd64 (1:4.9.0-8) ...
Processing triggers for libc-bin (2.19-4) ...
(Reading database ... 10938 files and directories currently installed.)
Preparing to unpack .../libstdc++6_4.9.0-8_amd64.deb ...
Unpacking libstdc++6:amd64 (4.9.0-8) over (4.8.2-19) ...
Setting up libstdc++6:amd64 (4.9.0-8) ...
Processing triggers for libc-bin (2.19-4) ...
(Reading database ... 10951 files and directories currently installed.)
Preparing to unpack .../gcc-4.8-base_4.8.3-4_amd64.deb ...
Unpacking gcc-4.8-base:amd64 (4.8.3-4) over (4.8.2-19) ...
Selecting previously unselected package libasan0:amd64.
Preparing to unpack .../libasan0_4.8.3-4_amd64.deb ...
Unpacking libasan0:amd64 (4.8.3-4) ...
Selecting previously unselected package libatomic1:amd64.
Preparing to unpack .../libatomic1_4.9.0-8_amd64.deb ...
Unpacking libatomic1:amd64 (4.9.0-8) ...
Selecting previously unselected package libgmp10:amd64.
Preparing to unpack .../libgmp10_2%3a6.0.0+dfsg-4_amd64.deb ...
Unpacking libgmp10:amd64 (2:6.0.0+dfsg-4) ...
Selecting previously unselected package libisl10:amd64.
Preparing to unpack .../libisl10_0.12.2-2_amd64.deb ...
Unpacking libisl10:amd64 (0.12.2-2) ...
Selecting previously unselected package libcloog-isl4:amd64.
Preparing to unpack .../libcloog-isl4_0.18.2-1_amd64.deb ...
Unpacking libcloog-isl4:amd64 (0.18.2-1) ...
Selecting previously unselected package libffi6:amd64.
Preparing to unpack .../libffi6_3.1-2_amd64.deb ...
Unpacking libffi6:amd64 (3.1-2) ...
Selecting previously unselected package libgomp1:amd64.
Preparing to unpack .../libgomp1_4.9.0-8_amd64.deb ...
Unpacking libgomp1:amd64 (4.9.0-8) ...
Selecting previously unselected package libitm1:amd64.
Preparing to unpack .../libitm1_4.9.0-8_amd64.deb ...
Unpacking libitm1:amd64 (4.9.0-8) ...
Selecting previously unselected package libllvm3.3:amd64.
Preparing to unpack .../libllvm3.3_1%3a3.3-16_amd64.deb ...
Unpacking libllvm3.3:amd64 (1:3.3-16) ...
Selecting previously unselected package libllvm3.4:amd64.
Preparing to unpack .../libllvm3.4_1%3a3.4.2-4_amd64.deb ...
Unpacking libllvm3.4:amd64 (1:3.4.2-4) ...
Selecting previously unselected package libmpfr4:amd64.
Preparing to unpack .../libmpfr4_3.1.2-1_amd64.deb ...
Unpacking libmpfr4:amd64 (3.1.2-1) ...
Selecting previously unselected package libquadmath0:amd64.
Preparing to unpack .../libquadmath0_4.9.0-8_amd64.deb ...
Unpacking libquadmath0:amd64 (4.9.0-8) ...
Selecting previously unselected package libtsan0:amd64.
Preparing to unpack .../libtsan0_4.9.0-8_amd64.deb ...
Unpacking libtsan0:amd64 (4.9.0-8) ...
Selecting previously unselected package libmpc3:amd64.
Preparing to unpack .../libmpc3_1.0.1-1_amd64.deb ...
Unpacking libmpc3:amd64 (1.0.1-1) ...
Selecting previously unselected package binutils.
Preparing to unpack .../binutils_2.24.51.20140617-1_amd64.deb ...
Unpacking binutils (2.24.51.20140617-1) ...
Selecting previously unselected package cpp-4.7.
Preparing to unpack .../cpp-4.7_4.7.4-1_amd64.deb ...
Unpacking cpp-4.7 (4.7.4-1) ...
Selecting previously unselected package cpp-4.8.
Preparing to unpack .../cpp-4.8_4.8.3-4_amd64.deb ...
Unpacking cpp-4.8 (4.8.3-4) ...
Selecting previously unselected package dragonegg.
Preparing to unpack .../dragonegg_3.4-1_amd64.deb ...
Unpacking dragonegg (3.4-1) ...
Selecting previously unselected package dragonegg-4.7.
Preparing to unpack .../dragonegg-4.7_3.3-2_amd64.deb ...
Unpacking dragonegg-4.7 (3.3-2) ...
Selecting previously unselected package libgcc-4.7-dev:amd64.
Preparing to unpack .../libgcc-4.7-dev_4.7.4-1_amd64.deb ...
Unpacking libgcc-4.7-dev:amd64 (4.7.4-1) ...
Selecting previously unselected package gcc-4.7.
Preparing to unpack .../gcc-4.7_4.7.4-1_amd64.deb ...
Unpacking gcc-4.7 (4.7.4-1) ...
Selecting previously unselected package libc-dev-bin.
Preparing to unpack .../libc-dev-bin_2.19-4_amd64.deb ...
Unpacking libc-dev-bin (2.19-4) ...
Selecting previously unselected package linux-libc-dev:amd64.
Preparing to unpack .../linux-libc-dev_3.14.7-1_amd64.deb ...
Unpacking linux-libc-dev:amd64 (3.14.7-1) ...
Selecting previously unselected package libc6-dev:amd64.
Preparing to unpack .../libc6-dev_2.19-4_amd64.deb ...
Unpacking libc6-dev:amd64 (2.19-4) ...
Selecting previously unselected package libstdc++6-4.7-dev:amd64.
Preparing to unpack .../libstdc++6-4.7-dev_4.7.4-1_amd64.deb ...
Unpacking libstdc++6-4.7-dev:amd64 (4.7.4-1) ...
Selecting previously unselected package g++-4.7.
Preparing to unpack .../g++-4.7_4.7.4-1_amd64.deb ...
Unpacking g++-4.7 (4.7.4-1) ...
Selecting previously unselected package libgcc-4.8-dev:amd64.
Preparing to unpack .../libgcc-4.8-dev_4.8.3-4_amd64.deb ...
Unpacking libgcc-4.8-dev:amd64 (4.8.3-4) ...
Selecting previously unselected package gcc-4.8.
Preparing to unpack .../gcc-4.8_4.8.3-4_amd64.deb ...
Unpacking gcc-4.8 (4.8.3-4) ...
Selecting previously unselected package libstdc++-4.8-dev:amd64.
Preparing to unpack .../libstdc++-4.8-dev_4.8.3-4_amd64.deb ...
Unpacking libstdc++-4.8-dev:amd64 (4.8.3-4) ...
Selecting previously unselected package g++-4.8.
Preparing to unpack .../g++-4.8_4.8.3-4_amd64.deb ...
Unpacking g++-4.8 (4.8.3-4) ...
Selecting previously unselected package llvm-gcc.
Preparing to unpack .../llvm-gcc_3.4-1_amd64.deb ...
Unpacking llvm-gcc (3.4-1) ...
Selecting previously unselected package llvm-gcc-4.7.
Preparing to unpack .../llvm-gcc-4.7_3.3-2_amd64.deb ...
Unpacking llvm-gcc-4.7 (3.3-2) ...
dpkg: error processing archive /var/cache/apt/archives/llvm-gcc-4.7_3.3-2_amd64.deb (--unpack):
 trying to overwrite '/usr/bin/llvm-cpp', which is also in package llvm-gcc 3.4-1
Processing triggers for man-db (2.6.7.1-1) ...
Errors were encountered while processing:
 /var/cache/apt/archives/llvm-gcc-4.7_3.3-2_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
cow-shell unlink .ilist: No such file or directory


This is a serious bug as it makes installation fail, and violates
sections 7.6.1 and 10.1 of the policy. An optimal solution would
consist in only one of the packages installing that file, and renaming
or removing the file in the other package. Depending on the
circumstances you might also consider Replace relations or file
diversions. If the conflicting situation cannot be resolved then, as a
last resort, the two packages have to declare a mutual
Conflict. Please take into account that Replaces, Conflicts and
diversions should only be used when packages provide different
implementations for the same functionality.

Here is a list of files that are known to be shared by both packages
(according to the Contents file for sid/amd64, which may be
slightly out of sync):

  /usr/bin/llvm-cpp
  /usr/bin/llvm-g++
  /usr/bin/llvm-gcc
  /usr/bin/llvm-gccbug
  /usr/bin/llvm-gcov

This bug has been filed against both packages. If you, the maintainers of
the two packages in question, have agreed on which of the packages will
resolve the problem please reassign the bug to that package. You may then
also register in the BTS that the other package is affected by the bug.

-Ralf.

PS: for more information about the detection of file overwrite errors
of this kind see http://edos.debian.net/file-overwrites/.



More information about the Pkg-llvm-team mailing list