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

Helmut Grohne helmut at subdivi.de
Wed May 1 05:14:19 BST 2024


On Wed, May 01, 2024 at 10:51:22AM +1000, Daniel Black wrote:
> 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

I concur. This is a problem that will resolve itself over time as we
will come to expect libfmt to not exhibit that defect. As such, I
recommend adding a versioned Build-Depends libfmt-dev on a version that
includes the fix and then add the define cross referencing them via
comments.

Generally speaking, when someone builds mariadb using an older version
of libfmt, I think you'd rather have the build fail than falling back on
the vendored libfmt. Do you agree?

> There hasn't been a libfmt release with this fix.
> 
> It is also safe to use if using a < 10 version of libfmt.

Build-Depends: libfmt-dev (>= 10.???) | libfmt-dev (<< 10)

The alternative will be ignored in unstable but can be picked up in
backports. Since fmtlib 10 is only packaged in experimental yet, you can
temporarily flip the alternatives. mariadb will then FTBFS when fmtlib
is propagated to unstable at which time you can flip back.

Helmut




More information about the pkg-mysql-maint mailing list