Dear Maintainer,
libmariadb-dev-compat (and the libmariadb-dev it depends on) cannot be
installed for two architectures at once, because the package is not marked
"Multi-Arch: same". dpkg therefore generates an implicit cross-architecture
conflict:
# docker run --rm debian:sid bash
dpkg --add-architecture arm64
apt-get update
apt-get install -s libmariadb-dev-compat:amd64 libmariadb-dev-compat:arm64
...
libmariadb-dev-compat:amd64 Conflicts libmariadb-dev-compat:arm64
libmariadb-dev-compat:arm64 : Depends: libmariadb-dev:arm64 (= ...)
but it is not installable
The package's explicit Conflicts: field only lists the old
libmysqlclient-dev / lgpl compat names; the cross-arch conflict above is the
*implicit* one dpkg adds to any package that is not Multi-Arch: same.
This blocks cross-architecture C/C++ development against the MySQL/MariaDB
client. In particular it blocks libpoco-dev from being co-installable across
architectures even after libpoco-dev itself is fixed: libpoco-dev depends on
default-libmysqlclient-dev, which resolves to libmariadb-dev-compat, so the
two libpoco-dev arches cannot coexist solely because of this package. (See my
related report against libpoco-dev.)
This is the same underlying issue as #1006388.
Status across releases (verified):
- trixie: 1:11.8.6-0+deb13u1 - not Multi-Arch: same, not co-installable
- unstable: 1:11.8.8-1 - still not Multi-Arch: same, still not
co-installable (so not fixed for forky
either)
Request: please make the MariaDB client -dev packages (libmariadb-dev and
libmariadb-dev-compat) Multi-Arch: same / co-installable, moving any
architecture-dependent files into the triplet directories as needed. I'm
happy to help test candidates across amd64/arm64.
Steps to reproduce: as above.
Thanks,
Dick Hollenbeck