[debian-mysql] MariaDB cross-compilation fails on HAVE_SYSTEM_LIBFMT_EXITCODE

Daniel Black daniel at mariadb.org
Wed May 1 01:51:22 BST 2024


If you are cross compiling against a libfmt-10+ version that has
https://github.com/fmtlib/fmt/commit/44c3fe1ebb466ab5c296e1a1a6991c7c7b51b72e
applied as a fix then it is safe to use
-DHAVE_SYSTEM_LIBFMT_EXITCODE=0

There hasn't been a libfmt release with this fix.

It is also safe to use if using a < 10 version of libfmt.

ref: https://github.com/fmtlib/fmt/issues/3835

On the compile assert, cross compilers should handle this ok. Sergei
fixed our code with
https://github.com/mariaDB/server/commit/06a884a570719927864bd65481e94773a110962d

On Wed, 1 May 2024 at 06:28, Otto Kekäläinen <otto at debian.org> wrote:
>
> Hi!
>
> Currently MariaDB cross-compilation in both
> https://crossqa.debian.net/src/mariadb and
> https://salsa.debian.org/mariadb-team/mariadb-server/-/merge_requests/73
> is failing on:
>
> -- Performing Test HAVE_SYSTEM_LIBFMT
> CMake Error: try_run() invoked in cross-compiling mode, please set the
> following cache variables appropriately:
>    HAVE_SYSTEM_LIBFMT_EXITCODE (advanced)
> For details see /<<PKGBUILDDIR>>/builddir/TryRunResults.cmake
> -- Performing Test HAVE_SYSTEM_LIBFMT - Failed
>
> Is anyone familiar with this, and how to properly instruct this?
>
> Should I just set '-DHAVE_SYSTEM_LIBFMT_EXITCODE=0' as was done in
> https://git.openembedded.org/meta-openembedded/commit/?id=0e18a0cea962a187cffcca248b1685924742afd4
> ?
>
> The commit above has good references to related issues and upstream
> commits and it has similar patch to
> https://salsa.debian.org/mariadb-team/mariadb-server/-/commit/cad4f02094460d54b84de68f61ae1d879ab97222
> to revert one upstream commit partially, but thought I'd ask for views
> before just applying the CMake flag workaround.
>
>
> - Otto



More information about the pkg-mysql-maint mailing list