Package: ibverbs-providers Version: 17.1-2 Severity: normal Dear Maintainer,
Trying to install the amd64 and i386 versions of this package results in the following error: # apt-get install ibverbs-providers:amd64 ibverbs-providers:i386 [...] Unpacking ibverbs-providers:i386 (17.1-1) ... Processing triggers for libc-bin (2.27-3) ... dpkg: dependency problems prevent configuration of ibverbs-providers:i386: ibverbs-providers:amd64 (17.1-1) breaks libcxgb3-1 and is installed. ibverbs-providers:i386 (17.1-1) provides libcxgb3-1. ibverbs-providers:amd64 (17.1-1) breaks libipathverbs1 and is installed. ibverbs-providers:i386 (17.1-1) provides libipathverbs1. ibverbs-providers:amd64 (17.1-1) breaks libmlx4-1 and is installed. ibverbs-providers:i386 (17.1-1) provides libmlx4-1. ibverbs-providers:amd64 (17.1-1) breaks libmlx5-1 and is installed. ibverbs-providers:i386 (17.1-1) provides libmlx5-1. ibverbs-providers:amd64 (17.1-1) breaks libmthca1 and is installed. ibverbs-providers:i386 (17.1-1) provides libmthca1. ibverbs-providers:amd64 (17.1-1) breaks libnes1 and is installed. ibverbs-providers:i386 (17.1-1) provides libnes1. dpkg: error processing package ibverbs-providers:i386 (--configure): dependency problems - leaving unconfigured Errors were encountered while processing: ibverbs-providers:i386 E: Sub-process /usr/bin/dpkg returned an error code (1) So the source of the issue seems to be that ibverbs-providers: * Provides a bunch of virtual packages * Breaks + Replaces these virtual packages Apt seems to consider that this means ibverbs-providers:amd64 breaks ibverbs-providers:i386 through the virtual packages which prevents them from being coinstalled. One strange thing is that, if I understand 7.6.1 of the Debian Policy Manual correctly, Breaks + Replaces is not supposed to be used on virtual packages: http://www.chiark.greenend.org.uk/doc/debian-policy/policy.html/ch-relationships.html#s7.6.1 | For this usage of Replaces, virtual packages (see Virtual packages - Provides, | Section 7.5) are not considered when looking at a Replaces field. The packages | declared as being replaced must be mentioned by their real names. Maybe that's why Apt is confused in this multi-arch configuration. Note that, based on 7.6.2, the usual pattern for virtual packages would be Provides + Conflicts + Replaces: | In this situation, the package declared as being replaced can be a virtual | package, so for example, all mail transport agents (MTAs) would have the | following fields in their control files: | | Provides: mail-transport-agent | Conflicts: mail-transport-agent | Replaces: mail-transport-agent | | ensuring that only one MTA can be unpacked at any one time Seems like something to try to see if it fixes the issue. -- System Information: Debian Release: buster/sid APT prefers testing APT policy: (500, 'testing'), (500, 'stable') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 4.15.0-3-amd64 (SMP w/4 CPU cores) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system) Versions of packages ibverbs-providers depends on: ii libc6 2.27-3 ii libibverbs1 17.1-2 ibverbs-providers recommends no packages. ibverbs-providers suggests no packages. -- no debconf information