Hello everyone - I have upgraded one of my test machines to Fedora 41. Therion 6.2.0 now fails to run with a complaint that libfmt.so.10 cannot be found. Very true! The fmt package was upgraded to version 11 and the shared library is now libfmt.so.11.

I downloaded the latest source code for version 6.2.1 and went to compile it. The compile fails, and I think it is related to fmt. The last few lines from the compile run are listed below.

How can I get past this?

Thanks!
--
===============
Bill Gee



[ 57%] Building CXX object CMakeFiles/therion-common.dir/therion.cxx.o
In file included from /usr/include/fmt/format.h:41,
                 from /usr/include/fmt/core.h:5,
                 from /home/bgee/Installs/therion-6.2.1/thepsparse.cxx:42:
/usr/include/fmt/base.h: In instantiation of ‘static void fmt::v11::detail::value<Context>::format_custom_arg(void*, typename Context::parse_context_type&, Context&) [with T = thdouble; Formatter = fmt::v11::formatter<thdouble>; Context = fmt::v11::context; typename Context::parse_context_type = fmt::v11::basic_format_parse_context<char>]’: /usr/include/fmt/base.h:1383:19: required from ‘fmt::v11::detail::value<Context>::value(T&) [with T = thdouble; Context = fmt::v11::context]’
 1383 |     custom.format = format_custom_arg<
      |     ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
1384 | value_type, typename Context::template formatter_type<value_type>>; | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/fmt/base.h:1647:41: required from ‘constexpr fmt::v11::detail::value<Context> fmt::v11::detail::make_arg(T&) [with bool PACKED = true; Context = fmt::v11::context; T = thdouble; typename std::enable_if<PACKED, int>::type <anonymous> = 0]’
 1647 |   return {arg_mapper<Context>().map(val)};
      |                                         ^
/usr/include/fmt/base.h:2018:74: required from ‘constexpr fmt::v11::detail::format_arg_store<Context, NUM_ARGS, 0, DESC> fmt::v11::make_format_args(T& ...) [with Context = context; T = {thdouble}; 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]’ 2018 | return {{detail::make_arg<NUM_ARGS <= detail::max_packed_args, Context>( | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
 2019 |       args)...}};
| ~~~~~ /usr/include/fmt/format.h:4365:44: required from ‘std::string fmt::v11::format(format_string<T ...>, T&& ...) [with T = {thdouble}; std::string = std::__cxx11::basic_string<char>; format_string<T ...> = basic_format_string<char, thdouble>]’
 4365 |   return vformat(fmt, fmt::make_format_args(args...));
      |                       ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
/home/bgee/Installs/therion-6.2.1/thepsparse.cxx:143:23: required from here
  143 |       s << fmt::format("{}", thdouble(this->a,prec_col)) << " g";
      |            ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/fmt/base.h:1402:29: error: passing ‘const fmt::v11::formatter<thdouble>’ as ‘this’ argument discards qualifiers [-fpermissive] 1402 | ctx.advance_to(cf.format(*static_cast<qualified_type*>(arg), ctx)); | ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/bgee/Installs/therion-6.2.1/thepsparse.cxx:50:
/home/bgee/Installs/therion-6.2.1/thdouble.h:37:10: note: in call to ‘auto fmt::v11::formatter<thdouble>::format(const thdouble&, FormatContext&) [with FormatContext = fmt::v11::context]’
   37 |     auto format(const thdouble& p, FormatContext& ctx) {
      |          ^~~~~~
make[2]: *** [CMakeFiles/therion-common.dir/build.make:593: CMakeFiles/therion-common.dir/thepsparse.cxx.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [CMakeFiles/Makefile2:871: CMakeFiles/therion-common.dir/all] Error 2
make: *** [Makefile:146: all] Error 2

_______________________________________________
Therion mailing list
[email protected]
https://mailman.speleo.sk/listinfo/therion

Reply via email to