#1140151 libmariadb-dev-compat: not Multi-Arch co-installable (blocks cross-arch -dev installs)

Package:
libmariadb-dev-compat
Source:
libmariadb-dev-compat
Description:
MariaDB Connector/C, compatibility symlinks
Submitter:
Dick Hollenbeck
Date:
2026-06-25 15:21:02 UTC
Severity:
normal
Tags:
#1140151#5
Date:
2026-06-16 14:43:08 UTC
From:
To:
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

#1140151#10
Date:
2026-06-17 19:24:13 UTC
From:
To:
A clarification on the root cause, found while building a working multi-arch
   repackaging:

   libmariadb-dev-compat both *provides* and *conflicts/breaks* the same virtual
   packages:

     Provides:  libmariadb-client-lgpl-dev-compat, libmariadbclient-dev-compat
     Conflicts: libmariadb-client-lgpl-dev-compat, libmariadbclient-dev-compat, ...
     Breaks:    libmariadb-client-lgpl-dev-compat, libmariadbclient-dev-compat, ...

   So beyond the missing "Multi-Arch: same" field, two architecture instances
   trip over each other's self-provided virtuals. In my repackaging I had to BOTH
   stamp "Multi-Arch: same" AND strip these self-provided names from
   Conflicts/Breaks before the two arches would co-install. Please verify that
   marking the package Multi-Arch: same is sufficient on its own, or whether the
   self-conflicting virtuals also need adjusting.

   (verified in trixie 1:11.8.6-0+deb13u1 and unstable 1:11.8.8-1)

#1140151#15
Date:
2026-06-18 05:40:56 UTC
From:
To:
Hi!

Thanks for reporting this and Bug#1140296.

There has been several attampts to get the multi-arch right for theae
packages, but it yas always run into some issues/conflicts. Thanks for
investigating, perhaps we het the final version engineered now.

I have this on my TODO but if you have a clear vision on how to solve it,
feel free to post a Merge Request at
https://salsa.debian.org/mariadb-team/mariadb-server/-/merge_requests