Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 906082 - dev-util/bear-3.0.21: fails compile with dev-libs/libfmt-10.0.0
Summary: dev-util/bear-3.0.21: fails compile with dev-libs/libfmt-10.0.0
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Georgy Yakovlev
URL:
Whiteboard:
Keywords: PullRequest
Depends on:
Blocks: 906077
  Show dependency tree
 
Reported: 2023-05-10 16:39 UTC by jinqiang zhang
Modified: 2023-08-21 08:07 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
info.txt (info.txt,6.87 KB, text/plain)
2023-05-10 16:40 UTC, jinqiang zhang
Details
build.log (build.log,34.02 KB, text/plain)
2023-05-10 16:40 UTC, jinqiang zhang
Details

Note You need to log in before you can comment on or make changes to this bug.
Description jinqiang zhang 2023-05-10 16:39:58 UTC
After upgrade to dev-libs/libfmt-10.0.0, dev-util/bear-3.0.21 fails to rebuild.

/var/tmp/portage/dev-util/bear-3.0.21/work/Bear-3.0.21/source/libmain/source/ApplicationFromArgs.cc:42:24:   required from here
/usr/include/fmt/core.h:1691:7: error: static assertion failed: Cannot format an argument. To make type T formattable provide a 
formatter<T> specialization: https://fmt.dev/latest/api.html#udt
 1691 |       formattable,
      |       ^~~~~~~~~~~
/usr/include/fmt/core.h:1691:7: note: ‘formattable’ evaluates to false


/var/tmp/portage/dev-util/bear-3.0.21/work/Bear-3.0.21/source/intercept/source/collect/SessionWrapper.cc:160:22:   required from
 here
/usr/include/fmt/core.h:1691:7: error: static assertion failed: Cannot format an argument. To make type T formattable provide a 
formatter<T> specialization: https://fmt.dev/latest/api.html#udt
 1691 |       formattable,
      |       ^~~~~~~~~~~


/var/tmp/portage/dev-util/bear-3.0.21/work/Bear-3.0.21/source/intercept/source/report/wrapper/Application.cc:189:32:   required 
from here
/usr/include/fmt/core.h:1691:7: error: static assertion failed: Cannot format an argument. To make type T formattable provide a formatter<T> specialization: https://fmt.dev/latest/api.html#udt
 1691 |       formattable,
      |       ^~~~~~~~~~~
/usr/include/fmt/core.h:1691:7: note: ‘formattable’ evaluates to false
Comment 1 jinqiang zhang 2023-05-10 16:40:20 UTC
Created attachment 861447 [details]
info.txt

emerge --info
Comment 2 jinqiang zhang 2023-05-10 16:40:22 UTC
Created attachment 861448 [details]
build.log
Comment 3 Larry the Git Cow gentoo-dev 2023-05-13 03:31:56 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3fb39e3eb87994c558a17415713deb49dc3c0052

commit 3fb39e3eb87994c558a17415713deb49dc3c0052
Author:     jinqiang zhang <peeweep@0x0.ee>
AuthorDate: 2023-05-10 21:29:22 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2023-05-13 03:29:49 +0000

    dev-util/bear: fix fails compile with libfmt-10.0.0
    
    Closes: https://bugs.gentoo.org/906082
    Signed-off-by: jinqiang zhang <peeweep@0x0.ee>
    Closes: https://github.com/gentoo/gentoo/pull/30982
    Signed-off-by: Sam James <sam@gentoo.org>

 dev-util/bear/bear-3.0.21.ebuild                   |  1 +
 .../bear/files/bear-3.0.21-libfmt-10.0.0.patch     | 26 ++++++++++++++++++++++
 2 files changed, 27 insertions(+)
Comment 4 Adrian Schollmeyer 2023-08-21 08:07:09 UTC
Seems like the resolution doesn't always work. I'm getting build errors when trying to build dev-util/bear-3.1.2 with dev-libs/libfmt-10.0.0 and dev-libs/libfmt-10.1.0. Both yield the same compile errors, but different from the originally reported ones:

> /var/tmp/portage/dev-util/bear-3.1.2/work/Bear-3.1.2/source/citnames/source/semantic/Semantic.cc:94:44:   required from here
> /usr/include/fmt/format.h:4235:36: error: no matching function for call to ‘fmt::v10::formatter<std::filesystem::__cxx11::path>::format(const std::filesystem::__cxx11::path&, fmt::v10::basic_format_context<fmt::v10::appender, char>&) const’
>  4235 |       out = value_formatter_.format(*it, ctx);
>       |             ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
> In file included from /usr/include/fmt/format.h:49:
> /usr/include/fmt/core.h:2714:22: note: candidate: ‘template<class FormatContext> constexpr decltype (ctx.out()) fmt::v10::formatter<T, Char, typename std::enable_if<(fmt::v10::detail::type_constant<T, Char>::value != fmt::v10::detail::type::custom_type), void>::type>::format(const T&, FormatContext&) const [with T = fmt::v10::basic_string_view<char>; Char = char]’
>  2714 |   FMT_CONSTEXPR auto format(const T& val, FormatContext& ctx) const
>       |                      ^~~~~~
> /usr/include/fmt/core.h:2714:22: note:   template argument deduction/substitution failed:
> /usr/include/fmt/format.h:4235:36: note:   cannot convert ‘it.__gnu_cxx::__normal_iterator<const std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path> >::operator*()’ (type ‘const std::filesystem::__cxx11::path’) to type ‘const fmt::v10::basic_string_view<char>&’
>  4235 |       out = value_formatter_.format(*it, ctx);
>       |             ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
> /usr/include/fmt/format.h:4240:38: error: no matching function for call to ‘fmt::v10::formatter<std::filesystem::__cxx11::path>::format(const std::filesystem::__cxx11::path&, fmt::v10::basic_format_context<fmt::v10::appender, char>&) const’
>  4240 |         out = value_formatter_.format(*it, ctx);
>       |               ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~
> /usr/include/fmt/core.h:2714:22: note: candidate: ‘template<class FormatContext> constexpr decltype (ctx.out()) fmt::v10::formatter<T, Char, typename std::enable_if<(fmt::v10::detail::type_constant<T, Char>::value != fmt::v10::detail::type::custom_type), void>::type>::format(const T&, FormatContext&) const [with T = fmt::v10::basic_string_view<char>; Char = char]’
>  2714 |   FMT_CONSTEXPR auto format(const T& val, FormatContext& ctx) const
>       |                      ^~~~~~
> /usr/include/fmt/core.h:2714:22: note:   template argument deduction/substitution failed:
> /usr/include/fmt/format.h:4240:38: note:   cannot convert ‘it.__gnu_cxx::__normal_iterator<const std::filesystem::__cxx11::path*, std::vector<std::filesystem::__cxx11::path> >::operator*()’ (type ‘const std::filesystem::__cxx11::path’) to type ‘const fmt::v10::basic_string_view<char>&’
>  4240 |         out = value_formatter_.format(*it, ctx);
>       |               ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~