[debian-mysql] Bug#920365: Bug#920365: Bug#920365: mariadb_config: improve cross compilation support
Helmut Grohne
helmut at subdivi.de
Tue Sep 29 21:56:35 BST 2020
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
More information about the pkg-mysql-maint
mailing list