[MDEV-31963] MariaDB fails to build with libfmt 10.1.0 Created: 2023-08-20 Updated: 2023-10-24 Resolved: 2023-08-28 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | Compiling |
| Affects Version/s: | 10.9.8, 10.10.6, 10.11.5, 11.0.3 |
| Fix Version/s: | 10.10.7, 10.11.6, 11.0.4, 11.1.3, 11.2.2 |
| Type: | Bug | Priority: | Major |
| Reporter: | Ruoyu Zhong | Assignee: | Daniel Black |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Environment: |
{macOS ( {11, 12, 13}and {x86_64, arm64}), GNU Linux (x86_64)} |
||
| Attachments: |
|
||||||||
| Issue Links: |
|
||||||||
| Description |
|
MariaDB fails to build with the latest libfmt 10.1.0 (https://github.com/fmtlib/fmt/releases/tag/10.1.0). CMake configuration fails with the following:
The underlying error is that the code snippet in cmake/libfmt.cmake fails to compile (compiler explorer: https://godbolt.org/z/bWGoW55x3 ):
sql/item_strfunc.cc also fails to compile, with basically the same error. Error output can be found in the attachment item_strfunc.log. The reason behind this is that fmt::detail::make_arg does not accept temporaries, as mentioned in https://github.com/fmtlib/fmt/issues/3596#issuecomment-1679244746. This error was observed while packaging MariaDB 10.9.8 (https://github.com/Homebrew/homebrew-core/pull/139568), 10.10.6 (https://github.com/Homebrew/homebrew-core/pull/139563), 10.11.5 (https://github.com/Homebrew/homebrew-core/pull/139564), and 11.0.3 (https://github.com/Homebrew/homebrew-core/pull/139562) for Homebrew. I believe that this also affects all other versions where libfmt is used, including the newest 11.3 that's still under development. |
| Comments |
| Comment by Ruoyu Zhong [ 2023-08-20 ] |
|
I have proposed a fix at https://github.com/MariaDB/server/pull/2732 . |