Hi Otto, On Tue, Sep 29, 2020 at 11:46:26PM +0300, Otto Kekäläinen wrote: > Multiarch-hinter says: libmariadbd-dev conflicts on > /usr/include/mariadb/server/my_config.h on any two of amd64, arm64, > armel, armhf, and 5 more > > I don't understand this, since my_config.h is supposed to be an ASCII > file and identical to all archs. > > Running in Debian unstable to verify the file contents: > > apt install libmariadbd-dev > cat /usr/include/mariadb/server/my_config.h
$ wget http://deb.debian.org/debian/pool/main/m/mariadb-10.5/libmariadbd-dev_10.5.5-1_amd64.deb ... $ wget http://deb.debian.org/debian/pool/main/m/mariadb-10.5/libmariadbd-dev_10.5.5-1_arm64.deb ... $ dpkg-deb -x libmariadbd-dev_10.5.5-1_amd64.deb amd64 $ dpkg-deb -x libmariadbd-dev_10.5.5-1_arm64.deb arm64 $ diff -u a*64/usr/include/mariadb/server/my_config.h --- amd64/usr/include/mariadb/server/my_config.h 2020-09-25 18:56:59.000000000 +0200 +++ arm64/usr/include/mariadb/server/my_config.h 2020-09-25 18:56:59.000000000 +0200 @@ -105,9 +105,9 @@ /* #undef HAVE_CRC32_VPMSUM */ /* Support ARMv8 crc + crypto */ -/* #undef HAVE_ARMV8_CRC */ -/* #undef HAVE_ARMV8_CRYPTO */ -/* #undef HAVE_ARMV8_CRC_CRYPTO_INTRINSICS */ +#define HAVE_ARMV8_CRC 1 +#define HAVE_ARMV8_CRYPTO 1 +#define HAVE_ARMV8_CRC_CRYPTO_INTRINSICS 1 /* Does "struct timespec" have a "sec" and "nsec" field? */ /* #undef HAVE_TIMESPEC_TS_SEC */ @@ -395,8 +395,8 @@ #define STACK_DIRECTION -1 #define SYSTEM_TYPE "debian-linux-gnu" -#define MACHINE_TYPE "x86_64" -#define DEFAULT_MACHINE "x86_64" +#define MACHINE_TYPE "aarch64" +#define DEFAULT_MACHINE "aarch64" /* #undef HAVE_DTRACE */ #define SIGNAL_WITH_VIO_CLOSE 1 $ The usual solution to fix this is moving the header to a multiarch location (i.e. below /usr/include/${DEB_HOST_MULTIARCH}). The next best solution is dropping Multi-Arch: same from libmariadb-dev. Do note that Multi-Arch: same is not required for using libmariadb-dev for cross building. Hope this helps Helmut