Package: cpp-11,cpp-11-x86-64-linux-gnu Severity: serious Justification: fails to install User: debian...@lists.debian.org Usertags: fileconflict Control: clone -1 -2 Control: retitle -2 cpp-12 and cpp-12-x86-64-linux-gnu have an undeclared cross-architecture file conflict Control: reassign -2 cpp-12,cpp-12-x86-64-linux-gnu
Hi, I observe that you cannot install cpp-11 (amd64) and cpp-11-x86-64-linux-gnu (i386). What looks like utter nonsense fails in unexpected ways: | $ mmdebstrap unstable /dev/null --variant=essential --architectures=amd64,i386 --include=cpp-11,cpp-11-x86-64-linux-gnu --verbose | ... | Unpacking cpp-11-x86-64-linux-gnu:i386 (11.5.0-2cross1) ... | dpkg: error processing archive /tmp/apt-dpkg-install-s7Wmlf/15-cpp-11-x86-64-linux-gnu_11.5.0-2cross1_i386.deb (--unpack): | trying to overwrite '/usr/bin/x86_64-linux-gnu-cpp-11', which is also in package cpp-11 (11.5.0-2) | dpkg-deb: error: paste subprocess was killed by signal (Broken pipe) | Errors were encountered while processing: | /tmp/apt-dpkg-install-s7Wmlf/15-cpp-11-x86-64-linux-gnu_11.5.0-2cross1_i386.deb | E: Sub-process env returned an error code (1) | ... | $ This is generally a problem between native and cross toolchains and cpp is just an example here. There are numerous other instances. A side effect of my gcc-for-host work is that $TOOL started depending on $TOOL-$TRIPLET. That dependency comes with moving files and therefore this becomes a non-issue for gcc-13 and later. It still affects gcc-12 as that has not been converted to gcc-for-host. This issue really goes back and we can observe it in bullseye and bookworm as well. I informed #debian-release. My expectation is that the benefit of fixing these in stable does not outweigh the associated risks of doing SPUs for gcc-defaults and gcc-12. gcc-11 has already been removed from trixie via #1023690 and I expect it to get removed from unstable before too long. I suggest just leaving the issue open there and not expending any further effort at it. In case someone wants to include gcc-11 in trixie, they'd also have to work on this. For gcc-12, the story is less clear. It still is part of trixie and it is not clear whether it should be included. If it should, I wonder whether porting the gcc-for-host work is reasonable or whether adding the missing Conflicts (e.g. cpp-12:amd64 could easily declare Conflicts: cpp-12-x86-64-linux-gnu and call it a day). I believe that something should be done about gcc-12. Helmut