Package: libmarco-private1 Version: 1.20.1-1 Severity: normal Dear Maintainer,
Trying to install the amd64 and i386 versions of this package results in the following error: # apt-get install libmarco-private1:amd64 libmarco-private1:i386 [...] Unpacking libmarco-private1:i386 (1.20.1-1) ... dpkg: dependency problems prevent configuration of libmarco-private1:i386: libmarco-private1:amd64 (1.20.1-1) breaks libmarco and is installed. libmarco-private1:i386 (1.20.1-1) provides libmarco. dpkg: error processing package libmarco-private1:i386 (--configure): dependency problems - leaving unconfigured Processing triggers for libc-bin (2.27-3) ... Errors were encountered while processing: libmarco-private1:i386 E: Sub-process /usr/bin/dpkg returned an error code (1) So the source of the issue seems to be that libmarco-private1: * Provides the libmarco virtual package * Breaks + Replaces the libmarco virtual package Apt seems to consider that this means libmarco-private1:amd64 breaks libmarco-private1:i386 through the libmarco virtual package 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 would be to Provides + Conflicts + Replaces on a virtual package: | 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) LSM: AppArmor: enabled Versions of packages libmarco-private1 depends on: ii libatk1.0-0 2.28.1-1 ii libc6 2.27-3 ii libcairo-gobject2 1.15.10-3 ii libcairo2 1.15.10-3 ii libcanberra-gtk3-0 0.30-6 ii libcanberra0 0.30-6 ii libgdk-pixbuf2.0-0 2.36.11-2 ii libglib2.0-0 2.56.1-2 ii libgtk-3-0 3.22.29-3 ii libgtop-2.0-11 2.38.0-2 ii libice6 2:1.0.9-2 ii libpango-1.0-0 1.42.0-1 ii libpangocairo-1.0-0 1.42.0-1 ii libsm6 2:1.2.2-1+b3 ii libstartup-notification0 0.12-5 ii libx11-6 2:1.6.5-1 ii libxcomposite1 1:0.4.4-2 ii libxcursor1 1:1.1.15-1 ii libxdamage1 1:1.1.4-3 ii libxext6 2:1.3.3-1+b2 ii libxfixes3 1:5.0.3-1 ii libxinerama1 2:1.1.3-1+b3 ii libxpresent1 1.0.0-2+b10 ii libxrandr2 2:1.5.1-1 ii libxrender1 1:0.9.10-1 libmarco-private1 recommends no packages. libmarco-private1 suggests no packages. -- no debconf information