Project

General

Profile

Actions

Emulator Issues #13562

closed

Dolphin does not build with fmt 11.0.1

Added by brad 6 months ago. Updated 6 days ago.

Status:
Fixed
Priority:
Normal
Assignee:
-
% Done:

0%

Operating system:
N/A
Issue type:
Bug
Milestone:
Regression:
No
Relates to usability:
No
Relates to performance:
No
Easy:
No
Relates to maintainability:
No
Regression start:
Fixed in:
2407-274

Description

Updating our system copy of fmt to fmt 11.0.1 found that Dolphin does not build against it.

/home/ports/pobj/dolphin-5.0.0.20240524/dolphin-222a3930807545d9ebffebfbd13c3a816f788434/Source/Core/Common/StringUtil.cpp:691:37: error: no member named 'join' in namespace 'fmt'
  return fmt::format("{:02x}", fmt::join(bytes, ""));
                               ~~~~~^

https://github.com/fmtlib/fmt/commit/50565f9853926501bd1c9bda07c6a98f4d940691

Adding fmt/ranges.h seems to fix the first issue.

In file included from /home/ports/pobj/dolphin-5.0.0.20240524/dolphin-222a3930807545d9ebffebfbd13c3a816f788434/Source/Core/Core/HW/EXI/EXI.cpp:4:
In file included from /home/ports/pobj/dolphin-5.0.0.20240524/dolphin-222a3930807545d9ebffebfbd13c3a816f788434/Source/Core/Core/HW/EXI/EXI.h:11:
In file included from /home/ports/pobj/dolphin-5.0.0.20240524/dolphin-222a3930807545d9ebffebfbd13c3a816f788434/Source/Core/Common/EnumFormatter.h:8:
In file included from /usr/local/include/fmt/format.h:41:
/usr/local/include/fmt/base.h:1392:23: error: no matching member function for call to 'format'
    ctx.advance_to(cf.format(*static_cast<qualified_type*>(arg), ctx));
                   ~~~^~~~~~
/usr/local/include/fmt/base.h:1373:21: note: in instantiation of function template specialization 'fmt::detail::value<fmt::context>::format_custom_arg<ExpansionInterface::EXIDeviceType, fmt::formatter<ExpansionInterface::EXIDeviceType>>' requested here
    custom.format = format_custom_arg<
                    ^
/home/ports/pobj/dolphin-5.0.0.20240524/dolphin-222a3930807545d9ebffebfbd13c3a816f788434/Source/Core/Core/HW/EXI/EXI.cpp:53:43: note: in instantiation of function template specialization 'fmt::format<ExpansionInterface::EXIDeviceType &>' requested here
            slot, Common::GetStringT(fmt::format("{:n}", memorycard_device).c_str()));
                                          ^
/home/ports/pobj/dolphin-5.0.0.20240524/dolphin-222a3930807545d9ebffebfbd13c3a816f788434/Source/Core/Core/HW/EXI/EXI_Device.h:114:8: note: candidate function template not viable: 'this' argument has type 'const fmt::formatter<ExpansionInterface::EXIDeviceType>', but method is not marked const
  auto format(const ExpansionInterface::EXIDeviceType& e, FormatContext& ctx)
       ^
1 error generated.
Actions

Also available in: Atom PDF