Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 858659 - net-wireless/gnuradio: static assertion failed: Cannot format an argument.
Summary: net-wireless/gnuradio: static assertion failed: Cannot format an argument.
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Gentoo Radio project
URL:
Whiteboard:
Keywords: PullRequest
Depends on:
Blocks: 856748
  Show dependency tree
 
Reported: 2022-07-17 22:06 UTC by Sergey 'L29Ah' Alirzaev
Modified: 2022-08-17 12:33 UTC (History)
0 users

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


Attachments
emerge --info (emerge.info,17.62 KB, text/plain)
2022-07-17 22:06 UTC, Sergey 'L29Ah' Alirzaev
Details
build log (build.log,218.32 KB, text/plain)
2022-07-17 22:06 UTC, Sergey 'L29Ah' Alirzaev
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Sergey 'L29Ah' Alirzaev 2022-07-17 22:06:11 UTC
Created attachment 792017 [details]
emerge --info

In file included from /usr/include/spdlog/fmt/fmt.h:27,
                 from /usr/include/spdlog/common.h:45,
                 from /var/tmp/portage/net-wireless/gnuradio-3.10.3.0/work/gnuradio-3.10.3.0/gnuradio-runtime/lib/../include/gnuradio/logger.h:36,
                 from /var/tmp/portage/net-wireless/gnuradio-3.10.3.0/work/gnuradio-3.10.3.0/gnuradio-runtime/lib/../include/gnuradio/custom_lock.h:15,
                 from /var/tmp/portage/net-wireless/gnuradio-3.10.3.0/work/gnuradio-3.10.3.0/gnuradio-runtime/lib/../include/gnuradio/buffer.h:15,
                 from /var/tmp/portage/net-wireless/gnuradio-3.10.3.0/work/gnuradio-3.10.3.0/gnuradio-runtime/lib/../include/gnuradio/buffer_double_mapped.h:15,
                 from /var/tmp/portage/net-wireless/gnuradio-3.10.3.0/work/gnuradio-3.10.3.0/gnuradio-runtime/lib/../include/gnuradio/io_signature.h:17,
                 from /var/tmp/portage/net-wireless/gnuradio-3.10.3.0/work/gnuradio-3.10.3.0/gnuradio-runtime/lib/../include/gnuradio/basic_block.h:15,
                 from /var/tmp/portage/net-wireless/gnuradio-3.10.3.0/work/gnuradio-3.10.3.0/gnuradio-runtime/lib/../include/gnuradio/block.h:17,
                 from /var/tmp/portage/net-wireless/gnuradio-3.10.3.0/work/gnuradio-3.10.3.0/gnuradio-runtime/lib/../include/gnuradio/sync_block.h:15,
                 from /var/tmp/portage/net-wireless/gnuradio-3.10.3.0/work/gnuradio-3.10.3.0_build/gnuradio-runtime/lib/CMakeFiles/gnuradio-runtime.dir/cmake_pch.hxx:5,
                 from <command-line>:
/usr/include/fmt/core.h: In instantiation of ‘constexpr fmt::v9::detail::value<Context> fmt::v9::detail::make_value(T&&) [with Context = fmt::v9::basic_format_context<fmt::v9::appender, char>; T = const std::shared_ptr<gr::basic_block>&]’:
/usr/include/fmt/core.h:1753:29:   required from ‘constexpr fmt::v9::detail::value<Context> fmt::v9::detail::make_arg(T&&) [with bool IS_PACKED = true; Context = fmt::v9::basic_format_context<fmt::v9::appender, char>; fmt::v9::detail::type <anonymous> = fmt::v9::detail::type::custom_type; T = const std::shared_ptr<gr::basic_block>&; typename std::enable_if<IS_PACKED, int>::type <anonymous> = 0]’
/usr/include/fmt/core.h:1877:77:   required from ‘constexpr fmt::v9::format_arg_store<Context, Args>::format_arg_store(T&& ...) [with T = {const std::shared_ptr<gr::basic_block>&}; Context = fmt::v9::basic_format_context<fmt::v9::appender, char>; Args = {std::shared_ptr<gr::basic_block>}]’
/usr/include/fmt/core.h:1894:38:   required from ‘constexpr fmt::v9::format_arg_store<Context, fmt::v9::remove_cvref_t<Args>...> fmt::v9::make_format_args(Args&& ...) [with Context = fmt::v9::basic_format_context<fmt::v9::appender, char>; Args = {const std::shared_ptr<gr::basic_block>&}]’
/usr/include/spdlog/logger.h:370:68:   required from ‘void spdlog::logger::log_(spdlog::source_loc, spdlog::level::level_enum, spdlog::string_view_t, Args&& ...) [with Args = {const std::shared_ptr<gr::basic_block>&}; spdlog::string_view_t = fmt::v9::basic_string_view<char>]’
/usr/include/spdlog/logger.h:90:13:   required from ‘void spdlog::logger::log(spdlog::source_loc, spdlog::level::level_enum, fmt::v9::format_string<T ...>, Args&& ...) [with Args = {const std::shared_ptr<gr::basic_block>&}; fmt::v9::format_string<T ...> = fmt::v9::basic_format_string<char, const std::shared_ptr<gr::basic_block>&>]’
/usr/include/spdlog/logger.h:96:12:   required from ‘void spdlog::logger::log(spdlog::level::level_enum, fmt::v9::format_string<T ...>, Args&& ...) [with Args = {const std::shared_ptr<gr::basic_block>&}; fmt::v9::format_string<T ...> = fmt::v9::basic_format_string<char, const std::shared_ptr<gr::basic_block>&>]’
/usr/include/spdlog/logger.h:152:12:   required from ‘void spdlog::logger::debug(fmt::v9::format_string<T ...>, Args&& ...) [with Args = {const std::shared_ptr<gr::basic_block>&}; fmt::v9::format_string<T ...> = fmt::v9::basic_format_string<char, const std::shared_ptr<gr::basic_block>&>]’
/var/tmp/portage/net-wireless/gnuradio-3.10.3.0/work/gnuradio-3.10.3.0/gnuradio-runtime/lib/../include/gnuradio/logger.h:149:24:   required from ‘void gr::logger::debug(const string_view_t&, const Args& ...) [with Args = {std::shared_ptr<gr::basic_block>}; spdlog::string_view_t = fmt::v9::basic_string_view<char>]’
/var/tmp/portage/net-wireless/gnuradio-3.10.3.0/work/gnuradio-3.10.3.0/gnuradio-runtime/lib/flowgraph.cc:80:57:   required from here
/usr/include/fmt/core.h:1733: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
 1733 |       formattable,
      |       ^~~~~~~~~~~
Comment 1 Sergey 'L29Ah' Alirzaev 2022-07-17 22:06:51 UTC
Created attachment 792020 [details]
build log
Comment 2 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2022-07-18 00:11:50 UTC
I see a bunch of fmt-ish commits upstream but no idea what it'll be here.
Comment 3 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2022-07-18 00:17:34 UTC
https://github.com/gnuradio/gnuradio/commit/4cd04154aaaa19419ec3410f024d6e935e0f7eb9 maybe but likely not easily backportable (and not sure it's even that anyway).
Comment 4 vowstar 2022-08-16 03:10:14 UTC
I've made a PR to upstream 

https://github.com/gnuradio/gnuradio/pull/6053

libfmt-9.0.0 require explicit tagging of ARG types. This commit adds those tags for the types that are currently formatted via fmt.

backport patch to ::gentoo

https://github.com/gentoo/gentoo/pull/26775
Comment 5 Larry the Git Cow gentoo-dev 2022-08-17 12:33:15 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=801713036d2f629e3fd6fae8b9e812a6038d9705

commit 801713036d2f629e3fd6fae8b9e812a6038d9705
Author:     Huang Rui <vowstar@gmail.com>
AuthorDate: 2022-08-07 15:02:38 +0000
Commit:     Thomas Beierlein <tomjbe@gentoo.org>
CommitDate: 2022-08-17 12:32:51 +0000

    net-wireless/gnuradio: fix 3.10.3.0 build problems
    
    Fix static assertion failed : Cannot format an argument
    Fix error: ‘HUGE_VAL’ was not declared in this scope
    
    Signed-off-by: Huang Rui <vowstar@gmail.com>
    Closes: https://bugs.gentoo.org/858659
    Closes: https://bugs.gentoo.org/858665
    Closes: https://github.com/gentoo/gentoo/pull/26775
    Signed-off-by: Thomas Beierlein <tomjbe@gentoo.org>

 .../files/gnuradio-3.10.3.0-fix-fmt-v9.patch       | 145 +++++++++++++++++++++
 .../files/gnuradio-3.10.3.0-fix-gcc12.patch        |  50 +++++++
 net-wireless/gnuradio/gnuradio-3.10.3.0.ebuild     |   5 +
 3 files changed, 200 insertions(+)
Comment 6 Thomas Beierlein gentoo-dev 2022-08-17 12:33:51 UTC
Thanks again for looking into it.