Wanted to give this a try, but ran into the following with cmake + make.
cmake ..
-- The CXX compiler identification is GNU 9.3.0
-- The C compiler identification is GNU 9.3.0
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Build type not specified: defaulting to release.
-- Found Boost: /usr/lib/x86_64-linux-gnu/cmake/Boost-1.71.0/BoostConfig.cmake (found suitable version "1.71.0", minimum required is "1.35") found components: filesystem system thread regex date_time program_options
-- Found LOG4CPP: /usr/lib/x86_64-linux-gnu/liblog4cpp.so
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1")
-- Checking for module 'gmp'
-- Found gmp, version 6.2.0
-- Found GMP: /usr/lib/x86_64-linux-gnu/libgmpxx.so
-- Checking for module 'mpir >= 3.0'
-- No package 'mpir' found
-- Could NOT find MPIR (missing: MPIRXX_LIBRARY MPIR_LIBRARY MPIR_INCLUDE_DIR)
-- Found MPLIB: /usr/lib/x86_64-linux-gnu/libgmpxx.so
-- Found Boost: /usr/lib/x86_64-linux-gnu/cmake/Boost-1.71.0/BoostConfig.cmake (found suitable version "1.71.0", minimum required is "1.71.0") found components: date_time program_options filesystem 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.8.2")
-- Found PythonLibs: /usr/lib/x86_64-linux-gnu/libpython3.8.so (found suitable exact version "3.8.2")
-- Found Git: /usr/bin/git
-- Extracting version information from git describe...
-- Found Doxygen: /usr/bin/doxygen (found version "1.8.17") found components: doxygen missing components: dot
-- Using install prefix: /usr/local
-- Building for version: edaef66 / 1.0.0git
-- No C++ unit tests... skipping
-- Checking for module SWIG
-- Found SWIG version 4.0.1.
-- Found SWIG: /usr/bin/swig4.0
-- Found PythonLibs: /usr/lib/x86_64-linux-gnu/libpython3.8.so (found version "3.8.2")
-- Configuring done
-- Generating done
-- Build files have been written to: /usr/src/gr-atsc2/build
[ 68%] Built target atsc2_swig_swig_compilation
/usr/src/gr-atsc2/lib/atsc2_fpll_impl.cc: In static member function ‘static gr::atsc2::atsc2_fpll::sptr gr::atsc2::atsc2_fpll::make(float)’:
/usr/src/gr-atsc2/lib/atsc2_fpll_impl.cc:41:2: error: could not convert ‘gnuradio::get_initial_sptr(T*) with T = gr::atsc2::atsc2_fpll_impl’ from ‘boost::shared_ptrgr::atsc2::atsc2_fpll_impl’ to ‘gr::atsc2::atsc2_fpll::sptr’ {aka ‘std::shared_ptrgr::atsc2::atsc2_fpll’}
40 | return gnuradio::get_initial_sptr
| ~~~~~~~~~~~~~~~~~~~~~~~~~~
41 | (new atsc2_fpll_impl(rate));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
| |
| boost::shared_ptrgr::atsc2::atsc2_fpll_impl
/usr/src/gr-atsc2/lib/atsc2_rx_filter_impl.cc: In static member function ‘static gr::atsc2::atsc2_rx_filter::sptr gr::atsc2::atsc2_rx_filter::make(float, float)’:
/usr/src/gr-atsc2/lib/atsc2_rx_filter_impl.cc:36:9: error: could not convert ‘gnuradio::get_initial_sptr(T*) with T = gr::atsc2::atsc2_rx_filter_impl’ from ‘boost::shared_ptrgr::atsc2::atsc2_rx_filter_impl’ to ‘gr::atsc2::atsc2_rx_filter::sptr’ {aka ‘std::shared_ptrgr::atsc2::atsc2_rx_filter’}
35 | return gnuradio::get_initial_sptr
| ~~~~~~~~~~~~~~~~~~~~~~~~~~
36 | (new atsc2_rx_filter_impl(rate, sps));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
| |
| boost::shared_ptrgr::atsc2::atsc2_rx_filter_impl
/usr/src/gr-atsc2/lib/atsc2_rx_filter_impl.cc: In constructor ‘gr::atsc2::atsc2_rx_filter_impl::atsc2_rx_filter_impl(float, float)’:
/usr/src/gr-atsc2/lib/atsc2_rx_filter_impl.cc:62:110: error: no match for ‘operator=’ (operand types are ‘std::shared_ptrgr::filter::pfb_arb_resampler_ccf_impl’ and ‘boost::shared_ptrgr::filter::pfb_arb_resampler_ccf_impl’)
62 | ew gr::filter::pfb_arb_resampler_ccf_impl(interp, rrc_taps, nfilts));
| ^
In file included from /usr/include/c++/9/memory:81,
from /usr/include/boost/config/no_tr1/memory.hpp:21,
from /usr/include/boost/smart_ptr/shared_ptr.hpp:23,
from /usr/include/boost/shared_ptr.hpp:17,
from /usr/include/gnuradio/types.h:28,
from /usr/include/gnuradio/runtime_types.h:27,
from /usr/include/gnuradio/io_signature.h:27,
from /usr/src/gr-atsc2/lib/atsc2_rx_filter_impl.cc:25:
/usr/include/c++/9/bits/shared_ptr.h:309:19: note: candidate: ‘std::shared_ptr<_Tp>& std::shared_ptr<_Tp>::operator=(const std::shared_ptr<_Tp>&) [with _Tp = gr::filter::pfb_arb_resampler_ccf_impl]’
309 | shared_ptr& operator=(const shared_ptr&) noexcept = default;
| ^~~~~~~~
/usr/include/c++/9/bits/shared_ptr.h:309:29: note: no known conversion for argument 1 from ‘boost::shared_ptrgr::filter::pfb_arb_resampler_ccf_impl’ to ‘const std::shared_ptrgr::filter::pfb_arb_resampler_ccf_impl&’
309 | shared_ptr& operator=(const shared_ptr&) noexcept = default;
| ^~~~~~~~~~~~~~~~~
/usr/include/c++/9/bits/shared_ptr.h:313:2: note: candidate: ‘template std::shared_ptr<_Tp>::_Assignable<const std::shared_ptr<_Yp>&> std::shared_ptr<_Tp>::operator=(const std::shared_ptr<_Yp>&) [with _Yp = _Yp; _Tp = gr::filter::pfb_arb_resampler_ccf_impl]’
313 | operator=(const shared_ptr<_Yp>& __r) noexcept
| ^~~~~~~~
/usr/include/c++/9/bits/shared_ptr.h:313:2: note: template argument deduction/substitution failed:
/usr/src/gr-atsc2/lib/atsc2_rx_filter_impl.cc:62:110: note: ‘boost::shared_ptrgr::filter::pfb_arb_resampler_ccf_impl’ is not derived from ‘const std::shared_ptr<_Tp>’
62 | ew gr::filter::pfb_arb_resampler_ccf_impl(interp, rrc_taps, nfilts));
| ^
In file included from /usr/include/c++/9/memory:81,
from /usr/include/boost/config/no_tr1/memory.hpp:21,
from /usr/include/boost/smart_ptr/shared_ptr.hpp:23,
from /usr/include/boost/shared_ptr.hpp:17,
from /usr/include/gnuradio/types.h:28,
from /usr/include/gnuradio/runtime_types.h:27,
from /usr/include/gnuradio/io_signature.h:27,
from /usr/src/gr-atsc2/lib/atsc2_rx_filter_impl.cc:25:
/usr/include/c++/9/bits/shared_ptr.h:324:2: note: candidate: ‘template std::shared_ptr<_Tp>::_Assignable<std::auto_ptr<_Up> > std::shared_ptr<_Tp>::operator=(std::auto_ptr<_Up>&&) [with _Yp = _Yp; _Tp = gr::filter::pfb_arb_resampler_ccf_impl]’
324 | operator=(auto_ptr<_Yp>&& __r)
| ^~~~~~~~
/usr/include/c++/9/bits/shared_ptr.h:324:2: note: template argument deduction/substitution failed:
/usr/src/gr-atsc2/lib/atsc2_rx_filter_impl.cc:62:110: note: ‘boost::shared_ptrgr::filter::pfb_arb_resampler_ccf_impl’ is not derived from ‘std::auto_ptr’
62 | ew gr::filter::pfb_arb_resampler_ccf_impl(interp, rrc_taps, nfilts));
| ^
In file included from /usr/include/c++/9/memory:81,
from /usr/include/boost/config/no_tr1/memory.hpp:21,
from /usr/include/boost/smart_ptr/shared_ptr.hpp:23,
from /usr/include/boost/shared_ptr.hpp:17,
from /usr/include/gnuradio/types.h:28,
from /usr/include/gnuradio/runtime_types.h:27,
from /usr/include/gnuradio/io_signature.h:27,
from /usr/src/gr-atsc2/lib/atsc2_rx_filter_impl.cc:25:
/usr/include/c++/9/bits/shared_ptr.h:333:7: note: candidate: ‘std::shared_ptr<_Tp>& std::shared_ptr<_Tp>::operator=(std::shared_ptr<_Tp>&&) [with _Tp = gr::filter::pfb_arb_resampler_ccf_impl]’
333 | operator=(shared_ptr&& __r) noexcept
| ^~~~~~~~
/usr/include/c++/9/bits/shared_ptr.h:333:30: note: no known conversion for argument 1 from ‘boost::shared_ptrgr::filter::pfb_arb_resampler_ccf_impl’ to ‘std::shared_ptrgr::filter::pfb_arb_resampler_ccf_impl&&’
333 | operator=(shared_ptr&& __r) noexcept
| ~~~~~~~~~~~~~^~~
/usr/include/c++/9/bits/shared_ptr.h:341:2: note: candidate: ‘template std::shared_ptr<_Tp>::_Assignable<std::shared_ptr<_Yp> > std::shared_ptr<_Tp>::operator=(std::shared_ptr<_Yp>&&) [with _Yp = _Yp; _Tp = gr::filter::pfb_arb_resampler_ccf_impl]’
341 | operator=(shared_ptr<_Yp>&& __r) noexcept
| ^~~~~~~~
/usr/include/c++/9/bits/shared_ptr.h:341:2: note: template argument deduction/substitution failed:
/usr/src/gr-atsc2/lib/atsc2_rx_filter_impl.cc:62:110: note: ‘boost::shared_ptrgr::filter::pfb_arb_resampler_ccf_impl’ is not derived from ‘std::shared_ptr<_Tp>’
62 | ew gr::filter::pfb_arb_resampler_ccf_impl(interp, rrc_taps, nfilts));
| ^
In file included from /usr/include/c++/9/memory:81,
from /usr/include/boost/config/no_tr1/memory.hpp:21,
from /usr/include/boost/smart_ptr/shared_ptr.hpp:23,
from /usr/include/boost/shared_ptr.hpp:17,
from /usr/include/gnuradio/types.h:28,
from /usr/include/gnuradio/runtime_types.h:27,
from /usr/include/gnuradio/io_signature.h:27,
from /usr/src/gr-atsc2/lib/atsc2_rx_filter_impl.cc:25:
/usr/include/c++/9/bits/shared_ptr.h:349:2: note: candidate: ‘template<class _Yp, class _Del> std::shared_ptr<_Tp>::_Assignable<std::unique_ptr<_Up, _Ep> > std::shared_ptr<_Tp>::operator=(std::unique_ptr<_Up, _Ep>&&) [with _Yp = _Yp; _Del = _Del; _Tp = gr::filter::pfb_arb_resampler_ccf_impl]’
349 | operator=(unique_ptr<_Yp, _Del>&& __r)
| ^~~~~~~~
/usr/include/c++/9/bits/shared_ptr.h:349:2: note: template argument deduction/substitution failed:
/usr/src/gr-atsc2/lib/atsc2_rx_filter_impl.cc:62:110: note: ‘boost::shared_ptrgr::filter::pfb_arb_resampler_ccf_impl’ is not derived from ‘std::unique_ptr<_Tp, _Dp>’
62 | ew gr::filter::pfb_arb_resampler_ccf_impl(interp, rrc_taps, nfilts));
| ^
/usr/src/gr-atsc2/lib/atsc2_rx_filter_impl.cc:68:31: error: no matching function for call to ‘gr::atsc2::atsc2_rx_filter_impl::connect(gr::hier_block2::opaque_self, int, std::shared_ptrgr::filter::pfb_arb_resampler_ccf_impl&, int)’
68 | connect(self(), 0, pfb, 0);
| ^
In file included from /usr/src/gr-atsc2/lib/../include/atsc2/atsc2_rx_filter.h:26,
from /usr/src/gr-atsc2/lib/atsc2_rx_filter_impl.h:24,
from /usr/src/gr-atsc2/lib/atsc2_rx_filter_impl.cc:26:
/usr/include/gnuradio/hier_block2.h:94:10: note: candidate: ‘void gr::hier_block2::connect(gr::basic_block_sptr)’
94 | void connect(basic_block_sptr block);
| ^~~~~~~
/usr/include/gnuradio/hier_block2.h:94:10: note: candidate expects 1 argument, 4 provided
/usr/include/gnuradio/hier_block2.h:104:10: note: candidate: ‘void gr::hier_block2::connect(gr::basic_block_sptr, int, gr::basic_block_sptr, int)’
104 | void connect(basic_block_sptr src, int src_port, basic_block_sptr dst, int dst_port);
| ^~~~~~~
/usr/include/gnuradio/hier_block2.h:104:71: note: no known conversion for argument 3 from ‘std::shared_ptrgr::filter::pfb_arb_resampler_ccf_impl’ to ‘gr::basic_block_sptr’ {aka ‘boost::shared_ptrgr::basic_block’}
104 | void connect(basic_block_sptr src, int src_port, basic_block_sptr dst, int dst_port);
| ~~~~~~~~~~~~~~~~~^~~
/usr/src/gr-atsc2/lib/atsc2_rx_filter_impl.cc:70:34: error: no matching function for call to ‘gr::atsc2::atsc2_rx_filter_impl::connect(std::shared_ptrgr::filter::pfb_arb_resampler_ccf_impl&, int, gr::hier_block2::opaque_self, int)’
70 | connect(pfb, 0, self(), 0);
| ^
In file included from /usr/src/gr-atsc2/lib/../include/atsc2/atsc2_rx_filter.h:26,
from /usr/src/gr-atsc2/lib/atsc2_rx_filter_impl.h:24,
from /usr/src/gr-atsc2/lib/atsc2_rx_filter_impl.cc:26:
/usr/include/gnuradio/hier_block2.h:94:10: note: candidate: ‘void gr::hier_block2::connect(gr::basic_block_sptr)’
94 | void connect(basic_block_sptr block);
| ^~~~~~~
/usr/include/gnuradio/hier_block2.h:94:10: note: candidate expects 1 argument, 4 provided
/usr/include/gnuradio/hier_block2.h:104:10: note: candidate: ‘void gr::hier_block2::connect(gr::basic_block_sptr, int, gr::basic_block_sptr, int)’
104 | void connect(basic_block_sptr src, int src_port, basic_block_sptr dst, int dst_port);
| ^~~~~~~
/usr/include/gnuradio/hier_block2.h:104:35: note: no known conversion for argument 1 from ‘std::shared_ptrgr::filter::pfb_arb_resampler_ccf_impl’ to ‘gr::basic_block_sptr’ {aka ‘boost::shared_ptrgr::basic_block’}
104 | void connect(basic_block_sptr src, int src_port, basic_block_sptr dst, int dst_port);
| ~~~~~~~~~~~~~~~~~^~~
make[2]: *** [lib/CMakeFiles/gnuradio-atsc2.dir/build.make:63: lib/CMakeFiles/gnuradio-atsc2.dir/atsc2_rx_filter_impl.cc.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: *** [lib/CMakeFiles/gnuradio-atsc2.dir/build.make:76: lib/CMakeFiles/gnuradio-atsc2.dir/atsc2_fpll_impl.cc.o] Error 1
/usr/src/gr-atsc2/lib/tcp_sink_impl.cc: In static member function ‘static gr::atsc2::tcp_sink::sptr gr::atsc2::tcp_sink::make(int)’:
/usr/src/gr-atsc2/lib/tcp_sink_impl.cc:41:9: error: could not convert ‘gnuradio::get_initial_sptr(T*) with T = gr::atsc2::tcp_sink_impl’ from ‘boost::shared_ptrgr::atsc2::tcp_sink_impl’ to ‘gr::atsc2::tcp_sink::sptr’ {aka ‘std::shared_ptrgr::atsc2::tcp_sink’}
40 | return gnuradio::get_initial_sptr
| ~~~~~~~~~~~~~~~~~~~~~~~~~~
41 | (new tcp_sink_impl(port));
| ^~~~~~~~~~~~~~~~~~~~~~~~~
| |
| boost::shared_ptrgr::atsc2::tcp_sink_impl
make[2]: *** [lib/CMakeFiles/gnuradio-atsc2.dir/build.make:89: lib/CMakeFiles/gnuradio-atsc2.dir/tcp_sink_impl.cc.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:272: lib/CMakeFiles/gnuradio-atsc2.dir/all] Error 2
make: *** [Makefile:141: all] Error 2