Skip to content

Build fails with correlate_access_code_bb_ts_fl_impl.cpp:38:36: error: could not convert ‘gnuradio::get_initial_sptr<[...]’ from ‘std::shared_ptr<[...]>’ to ‘gr::reveng::correlate_access_code_bb_ts_fl::sptr’ [...] and subsequent errors. #6

@dreirund

Description

@dreirund

I am trying to build this on Artix GNU/Linux (rolling release).

I get the following error when building:
/var/cache/makepkg/build/r09-receiver-git/src/r09-receiver/src/correlate_access_code_bb_ts_fl_impl.cpp:38:36: error: could not convert ‘gnuradio::get_initial_sptr<gr::reveng::correlate_access_code_bb_ts_fl_impl>((operator new(728), ((true, (((gr::reveng::correlate_access_code_bb_ts_fl_impl*)<anonymous>)->gr::reveng::correlate_access_code_bb_ts_fl_impl::correlate_access_code_bb_ts_fl_impl((* & access_code), threshold, (* & tag_name), len), (<anonymous> = false))), ((gr::reveng::correlate_access_code_bb_ts_fl_impl*)<anonymous>))))’ from ‘std::shared_ptr<gr::reveng::correlate_access_code_bb_ts_fl_impl>’ to ‘gr::reveng::correlate_access_code_bb_ts_fl::sptr’ {aka ‘boost::shared_ptr<gr::reveng::correlate_access_code_bb_ts_fl>’}
and subsequent errors.

Complete make terminal output:

make: Entering directory '/var/cache/makepkg/build/r09-receiver-git/src/build'
[ 16%] Building CXX object CMakeFiles/r09-receiver.dir/src/correlate_access_code_bb_ts_fl_impl.cpp.o
/var/cache/makepkg/build/r09-receiver-git/src/r09-receiver/src/correlate_access_code_bb_ts_fl_impl.cpp: In static member function ‘static gr::reveng::correlate_access_code_bb_ts_fl::sptr gr::reveng::correlate_access_code_bb_ts_fl::make(const std::string&, int, const std::string&, int)’:
/var/cache/makepkg/build/r09-receiver-git/src/r09-receiver/src/correlate_access_code_bb_ts_fl_impl.cpp:38:36: error: could not convert ‘gnuradio::get_initial_sptr<gr::reveng::correlate_access_code_bb_ts_fl_impl>((operator new(728), ((true, (((gr::reveng::correlate_access_code_bb_ts_fl_impl*)<anonymous>)->gr::reveng::correlate_access_code_bb_ts_fl_impl::correlate_access_code_bb_ts_fl_impl((* & access_code), threshold, (* & tag_name), len), (<anonymous> = false))), ((gr::reveng::correlate_access_code_bb_ts_fl_impl*)<anonymous>))))’ from ‘std::shared_ptr<gr::reveng::correlate_access_code_bb_ts_fl_impl>’ to ‘gr::reveng::correlate_access_code_bb_ts_fl::sptr’ {aka ‘boost::shared_ptr<gr::reveng::correlate_access_code_bb_ts_fl>’}
   38 |   return gnuradio::get_initial_sptr(new correlate_access_code_bb_ts_fl_impl(
      |          ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                    |
      |                                    std::shared_ptr<gr::reveng::correlate_access_code_bb_ts_fl_impl>
   39 |       access_code, threshold, tag_name, len));
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/spdlog/fmt/fmt.h:28,
                 from /usr/include/gnuradio/io_signature.h:19,
                 from /usr/include/gnuradio/basic_block.h:15,
                 from /usr/include/gnuradio/block.h:17,
                 from /var/cache/makepkg/build/r09-receiver-git/src/r09-receiver/src/correlate_access_code_bb_ts_fl.h:26,
                 from /var/cache/makepkg/build/r09-receiver-git/src/r09-receiver/src/correlate_access_code_bb_ts_fl_impl.h:26,
                 from /var/cache/makepkg/build/r09-receiver-git/src/r09-receiver/src/correlate_access_code_bb_ts_fl_impl.cpp:23:
/usr/include/fmt/base.h: In instantiation of ‘static void fmt::v12::detail::value<Context>::format_custom(void*, fmt::v12::parse_context<typename Context::char_type>&, Context&) [with T = boost::basic_format<char>; Context = fmt::v12::context; typename Context::char_type = char]’:
/usr/include/fmt/base.h:2288:19:   required from ‘constexpr fmt::v12::detail::value<Context>::value(T&, fmt::v12::detail::custom_tag) [with T = const boost::basic_format<char>; typename std::enable_if<has_formatter<T, typename Context::char_type>(), int>::type <anonymous> = 0; Context = fmt::v12::context]’
 2288 |     custom.format = format_custom<value_type>;
      |     ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/fmt/base.h:2268:65:   required from ‘fmt::v12::detail::value<Context>::value(T&) [with T = const boost::basic_format<char>; typename std::enable_if<(std::integral_constant<bool, (((((((std::is_class<T>::value || std::is_enum<T>::value) || std::is_union<T>::value) || std::is_array<_Up>::value) && (! fmt::v12::detail::has_to_string_view<T, void>::value)) && (! fmt::v12::detail::is_named_arg<T>::value)) && (! fmt::v12::detail::use_format_as<T>::value)) && (! fmt::v12::detail::use_format_as_member<typename std::remove_const<T>::type, std::integral_constant<bool, true> >::value))>::value || (!1)), int>::type <anonymous> = 0; Context = fmt::v12::context]’
 2268 |   FMT_CONSTEXPR20 FMT_INLINE value(T& x) : value(x, custom_tag()) {}
      |                                                                 ^
/usr/include/fmt/base.h:2813:20:   required from ‘constexpr fmt::v12::detail::format_arg_store<Context, NUM_ARGS, NUM_NAMED_ARGS, DESC> fmt::v12::make_format_args(T& ...) [with Context = context; T = {const boost::basic_format<char, std::char_traits<char>, std::allocator<char> >}; int NUM_ARGS = 1; int NUM_NAMED_ARGS = 0; long long unsigned int DESC = 15]’
 2813 |   return {{args...}};
      |                    ^
/usr/include/spdlog/logger.h:328:75:   required from ‘void spdlog::logger::log_(spdlog::source_loc, spdlog::level::level_enum, spdlog::string_view_t, Args&& ...) [with Args = {const boost::basic_format<char, std::char_traits<char>, std::allocator<char> >&}; spdlog::string_view_t = fmt::v12::basic_string_view<char>]’
  328 |             fmt::vformat_to(fmt::appender(buf), fmt, fmt::make_format_args(args...));
      |                                                      ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
/usr/include/spdlog/logger.h:80:13:   required from ‘void spdlog::logger::log(spdlog::source_loc, spdlog::level::level_enum, fmt::v12::format_string<T ...>, Args&& ...) [with Args = {const boost::basic_format<char, std::char_traits<char>, std::allocator<char> >&}; fmt::v12::format_string<T ...> = fmt::v12::fstring<const boost::basic_format<char, std::char_traits<char>, std::allocator<char> >&>]’
   80 |         log_(loc, lvl, details::to_string_view(fmt), std::forward<Args>(args)...);
      |         ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/spdlog/logger.h:98:12:   required from ‘void spdlog::logger::log(spdlog::source_loc, spdlog::level::level_enum, const T&) [with T = boost::basic_format<char>; typename std::enable_if<(! spdlog::is_convertible_to_any_format_string<const T&>::value), int>::type <anonymous> = 0]’
   98 |         log(loc, lvl, "{}", msg);
      |         ~~~^~~~~~~~~~~~~~~~~~~~~
/usr/include/spdlog/logger.h:90:12:   required from ‘void spdlog::logger::log(spdlog::level::level_enum, const T&) [with T = boost::basic_format<char>]’
   90 |         log(source_loc{}, lvl, msg);
      |         ~~~^~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/spdlog/logger.h:238:12:   required from ‘void spdlog::logger::debug(const T&) [with T = boost::basic_format<char>]’
  238 |         log(level::debug, msg);
      |         ~~~^~~~~~~~~~~~~~~~~~~
/var/cache/makepkg/build/r09-receiver-git/src/r09-receiver/src/correlate_access_code_bb_ts_fl_impl.cpp:83:3:   required from here
   83 |   GR_LOG_DEBUG(d_logger, boost::format("Access code: %llx") % d_access_code);
      |   ^
/usr/include/fmt/base.h:2308:29: error: passing ‘const fmt::v12::formatter<boost::basic_format<char> >’ as ‘this’ argument discards qualifiers [-fpermissive]
 2308 |     ctx.advance_to(cf.format(*static_cast<qualified_type*>(arg), ctx));
      |                    ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/gnuradio/custom_lock.h:15,
                 from /usr/include/gnuradio/buffer.h:15,
                 from /usr/include/gnuradio/buffer_double_mapped.h:15,
                 from /usr/include/gnuradio/io_signature.h:29:
/usr/include/gnuradio/logger.h:323:10: note:   in call to ‘decltype (((fmt::v12::formatter<boost::basic_format<char> >*)this)->fmt::v12::detail::native_formatter<fmt::v12::basic_string_view<char>, char, fmt::v12::detail::type::string_type>::format(bfmt.boost::basic_format<char>::str(), ctx)) fmt::v12::formatter<boost::basic_format<char> >::format(const boost::format&, FormatContext&) [with FormatContext = fmt::v12::context; decltype (((fmt::v12::formatter<boost::basic_format<char> >*)this)->fmt::v12::detail::native_formatter<fmt::v12::basic_string_view<char>, char, fmt::v12::detail::type::string_type>::format(bfmt.boost::basic_format<char>::str(), ctx)) = fmt::v12::basic_appender<char>; boost::format = boost::basic_format<char>]’
  323 |     auto format(const boost::format& bfmt, FormatContext& ctx)
      |          ^~~~~~
make[2]: *** [CMakeFiles/r09-receiver.dir/build.make:79: CMakeFiles/r09-receiver.dir/src/correlate_access_code_bb_ts_fl_impl.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:87: CMakeFiles/r09-receiver.dir/all] Error 2
make: *** [Makefile:136: all] Error 2
make: Leaving directory '/var/cache/makepkg/build/r09-receiver-git/src/build'

Versions of installed packages:

  • GCC: 15.2.1
  • gnuradio: 3.10.12.0
  • spdlog: 1.15.3
  • boost: 1.88.0
  • libenvpp: 1.5.1
  • prometheus-cpp: 1.3.0
  • libvolk: 3.2.0

I try to build the latest state from this git repository, as follows:

cmake -B build -S r09-receiver \
  -DCMAKE_BUILD_TYPE=Release \
  -DCMAKE_COLOR_MAKEFILE=ON \
  -DCMAKE_INSTALL_PREFIX=/usr \
  -DENABLE_GRC=ON \
  -DENABLE_PYTHON=ON \
  -DENABLE_TESTING=ON \
  -DVOLK_FOUND=ON \
  -Wno-dev

make -C build -j1

Terminal output of the cmake run:

-- The C compiler identification is GNU 15.2.1
-- The CXX compiler identification is GNU 15.2.1
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Found PkgConfig: /usr/bin/pkg-config (found version "2.5.1")
-- Checking for module 'gmp'
--   Found gmp, version 6.3.0
-- Found GMP: /usr/lib/libgmpxx.so
-- Using GMP.
-- Found MPLIB: /usr/lib/libgmpxx.so
-- Found Boost: /usr/lib/cmake/Boost-1.88.0/BoostConfig.cmake (found suitable version "1.88.0", minimum required is "1.88.0") found components: date_time program_options system regex thread unit_test_framework
-- Found Volk: Volk::volk
-- User set python executable /usr/bin/python3
-- Found PythonInterp: /usr/bin/python3 (found version "3.13.7")
-- Found PythonLibs: /usr/lib/libpython3.13.so (found suitable exact version "3.13.7")
-- Found Boost: /usr/lib/cmake/Boost-1.88.0/BoostConfig.cmake (found version "1.88.0")
-- Found ZLIB: /usr/lib/libz.so (found version "1.3.1")
-- Found CURL: /usr/lib/libcurl.so (found version "8.16.0")
-- Configuring done (0.8s)
-- Generating done (0.0s)
-- Build files have been written to: /var/cache/makepkg/build/r09-receiver-git/src/build

Regards!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions