Closed GaryElshaw closed 4 months ago
Is fmt 11 forbidding std::string
as a parameter for printing? That would be awkward.
My sense is that there is a fmt 10 parameter, on our side, possibly in cmake, that needs to be changed from 10 to 11. But you are far more accomplished than me to diagnose that.
I haven't tested in MacOS, i'll try and report what happens.
The macOS app builds fine. The Qt app builds fine. The GTK app has various build issues (at least 10).
Point release is out, but the GTK errors remain.
Thanks for opening the issue. It doesn't help that I'm also facing a build issue of the GTK target due to https://github.com/Homebrew/homebrew-core/issues/172204.
[edit: ah, the workaround is brew reinstall -s glibmm
]
No worries, got your back with a relatively vanilla linux setup.
@GaryElshaw note for testing that after fmt will do their fix, we'll still need to add ourselves #include <fmt/ranges.h>
in our DetailsDialog.cc.
Thanks mate, GTK is compiling and running fine.
What is the issue?
New fmt release. I've tested on Linux and there are some minor issues.
https://github.com/fmtlib/fmt/releases/tag/11.0.0
/home/gary/Documents/GitHub/transmission-primary/third-party/fmt/include/fmt/base.h: In instantiation of ‘constexpr fmt::v10::detail::value<Context> fmt::v10::detail::make_arg(T&) [with bool PACKED = true; Context = fmt::v10::context; T = const Glib::ustring; typename std::enable_if<PACKED, int>::type <anonymous> = 0]’: /home/gary/Documents/GitHub/transmission-primary/third-party/fmt/include/fmt/base.h:2002:74: required from ‘constexpr fmt::v10::detail::format_arg_store<Context, NUM_ARGS, 0, DESC> fmt::v10::make_format_args(T& ...) [with Context = context; T = {const Glib::ustring}; long unsigned int NUM_ARGS = 1; long unsigned int NUM_NAMED_ARGS = 0; long long unsigned int DESC = 15; typename std::enable_if<(NUM_NAMED_ARGS == 0), int>::type <anonymous> = 0]’ 2002 | return {{detail::make_arg<NUM_ARGS <= detail::max_packed_args, Context>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ 2003 | args)...}}; | ~~~~~ /home/gary/Documents/GitHub/transmission-primary/third-party/fmt/include/fmt/format.h:4357:44: required from ‘std::string fmt::v10::format(format_string<T ...>, T&& ...) [with T = {const Glib::ustring&}; std::string = std::__cxx11::basic_string<char>; format_string<T ...> = basic_format_string<char, const Glib::ustring&>]’ 4357 | return vformat(fmt, fmt::make_format_args(args...)); | ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~ /home/gary/Documents/GitHub/transmission-primary/gtk/Application.cc:1649:30: required from here 1649 | gtr_error(fmt::format("Unhandled action: {}", action_name)); | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/gary/Documents/GitHub/transmission-primary/third-party/fmt/include/fmt/base.h:1611:17: error: static assertion failed: Mixing character types is disallowed. 1611 | static_assert(formattable_char, "Mixing character types is disallowed."); | ^~~~~~~~~~~~~~~~ /home/gary/Documents/GitHub/transmission-primary/third-party/fmt/include/fmt/base.h:1611:17: note: ‘formattable_char’ evaluates to false cc1plus: note: unrecognized command-line option ‘-Wno-exit-time-destructors’ may have been intended to silence earlier diagnostics make[2]: *** [gtk/CMakeFiles/transmission-gtk.dir/build.make:158: gtk/CMakeFiles/transmission-gtk.dir/Application.cc.o] Error 1 make[1]: *** [CMakeFiles/Makefile2:838: gtk/CMakeFiles/transmission-gtk.dir/all] Error 2 make: *** [Makefile:166: all] Error 2
Which application of Transmission?
None
Which version of Transmission?
4.1