Hi Kurt, On Sun, Apr 27, 2025 at 01:53:12PM +0200, Kurt Roeckx wrote: > I don't see the problem: > $ apt-cache show gnat-13-aarch64-linux-gnu > Package: gnat-13-aarch64-linux-gnu > Source: gcc-13-cross (17) > Version: 13.3.0-13cross1 > Installed-Size: 98436 > Maintainer: Debian GCC Maintainers <debian-gcc@lists.debian.org> > Architecture: amd64 > Replaces: gnat-13 (<< 13.2.0-11) > Depends: gcc-13-aarch64-linux-gnu-base (= 13.3.0-13cross1), > gcc-13-aarch64-linux-gnu (>= 13), libgnat-13-arm64-cross (>= > 13.3.0-13cross1), libc6-dev-arm64-cross (>= 2.23-1~), libc6 (>= 2.38), > libgmp10 (>= 2:6.3.0+dfsg), libisl23 (>= 0.15), libmpc3 (>= 1.1.0), libmpfr6 > (>= 3.1.3), libzstd1 (>= 1.5.5), zlib1g (>= 1:1.1.4) > Suggests: gnat-13-doc, ada-reference-manual-2012 > Conflicts: gnat-10-aarch64-linux-gnu, gnat-11-aarch64-linux-gnu, > gnat-12-aarch64-linux-gnu, gnat-4.9, gnat-5-aarch64-linux-gnu, > gnat-6-aarch64-linux-gnu, gnat-7-aarch64-linux-gnu, gnat-8-aarch64-linux-gnu, > gnat-9-aarch64-linux-gnu > Breaks: gnat-13 (<< 13.2.0-11) > Description-en: GNU Ada compiler for the aarch64-linux-gnu architecture > GNAT is a compiler for the Ada programming language. It produces optimized > code on platforms supported by the GNU Compiler Collection (GCC). > . > This package provides the compiler, tools and runtime library that handles > exceptions using the default zero-cost mechanism. > Description-md5: 726b837fa2e33796406f1db6ec3b5d32 > Multi-Arch: foreign > Homepage: http://gcc.gnu.org/ > Built-Using: gcc-13 (= 13.3.0-13) > Section: devel > Priority: optional > Filename: > pool/main/g/gcc-13-cross/gnat-13-aarch64-linux-gnu_13.3.0-13cross1_amd64.deb > Size: 18736324 > MD5sum: aa2f62d55c6fa3707be4176c3ccb0cf1 > SHA256: ae581eb686fb64f396b7fb920f407635e00db1847ca68b50ff4ad1b9db8aff02 > > > All the conflicts seem to be there with the triplet?
This is more subtle in two regards. For one thing, I implied that the problem would be fully architecture-generic. It is not. For gnat-13-aarch64-linux-gnu, no problem exists, because there is no gnat-12-aarch64-linux-gnu:amd64 nor gnat-11-aarch64-linux-gnu:amd64. For another, the gnat-VER-TRIPLET:ARCH packages are built from different source packages. If the TRIPLET matches the ARCH, it is built from gcc-VER and from gcc-VER-cross otherwise. Those packages are different. So let's move from arm64 to armhf. $ apt-cache show gnat-13-arm-linux-gnueabihf:amd64 | grep ^Conflicts Conflicts: gnat-10-arm-linux-gnueabihf, gnat-11-arm-linux-gnueabihf, gnat-12-arm-linux-gnueabihf, gnat-4.9, gnat-5-arm-linux-gnueabihf, gnat-6-arm-linux-gnueabihf, gnat-7-arm-linux-gnueabihf, gnat-8-arm-linux-gnueabihf, gnat-9-arm-linux-gnueabihf $ apt-cache show gnat-13-arm-linux-gnueabihf:armhf | grep ^Conflicts Conflicts: gnat-10, gnat-11, gnat-12, gnat-4.9, gnat-5, gnat-6, gnat-7, gnat-8, gnat-9 $ apt-cache show gnat-13-arm-linux-gnueabihf:amd64 | grep ^Conflicts Conflicts: gnat-10-arm-linux-gnueabihf, gnat-11-arm-linux-gnueabihf, gnat-4.9, gnat-5-arm-linux-gnueabihf, gnat-6-arm-linux-gnueabihf, gnat-7-arm-linux-gnueabihf, gnat-8-arm-linux-gnueabihf, gnat-9-arm-linux-gnueabihf $ As you can see, gnat-13-arm-linux-gnueabihf:armhf does not conflict with gnat-12-arm-linux-gnueabihf and gnat-12-arm-linux-gnueabihf:amd64 does not conflict with gnat-13-arm-linux-gnueabihf. Yet both contain unversioned tools and would actually produce an unpack error when attempting to coinstall them. Helmut