[Therion] Therion fails on Fedora 41
Matěj Plch
plch.matej at gmail.com
Sat Nov 9 08:57:24 CET 2024
Hello,
1. If you upgrade your OS, you should use a clean build folder,
because libraries which CMake previously found are no longer there, so
it needs to look for them again.
2. I think this fmt compilation error was fixed in September
(https://github.com/therion/therion/pull/586), but since then there
was no release, in the meantime you can try to use branch master.
Matěj
so 9. 11. 2024 v 1:56 odesílatel Bill Gee <bgee at campercaver.net> napsal:
>
> 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
> Therion at speleo.sk
> https://mailman.speleo.sk/listinfo/therion
More information about the Therion
mailing list