Bug#1099150: soapyuhd: FTBFS: /build/reproducible-path/soapyuhd-0.4.1/UHDSoapyDevice.cpp:724:101: error: invalid new-expression of abstract class type ‘UHDSoapyRxStream’
Source: soapyuhd
Version: 0.4.1-4
Severity: serious
Tags: ftbfs
Justification: fails to build from source (but built successfully in the past)
X-Debbugs-Cc: sramacher@debian.org
https://buildd.debian.org/status/fetch.php?pkg=soapyuhd&arch=amd64&ver=0.4.1-4%2Bb6&stamp=1740570892&raw=0
/usr/bin/c++ -DBOOST_ALL_DYN_LINK -DBOOST_ATOMIC_DYN_LINK -DBOOST_ATOMIC_NO_LIB -DBOOST_SYSTEM_DYN_LINK -DBOOST_SYSTEM_NO_LIB -DBOOST_THREAD_DYN_LINK -DBOOST_THREAD_NO_LIB -DUHD_HAS_DEVICE_FILTER -DUHD_HAS_SET_PUBLISHER -DUHD_HAS_SET_RX_AGC -DuhdSupport_EXPORTS -I/build/reproducible-path/soapyuhd-0.4.1 -g -O2 -ffile-prefix-map=/build/reproducible-path/soapyuhd-0.4.1=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -Wall -Wextra -Wnon-virtual-dtor -MD -MT CMakeFiles/uhdSupport.dir/SoapyUHDDevice.cpp.o -MF CMakeFiles/uhdSupport.dir/SoapyUHDDevice.cpp.o.d -o CMakeFiles/uhdSupport.dir/SoapyUHDDevice.cpp.o -c /build/reproducible-path/soapyuhd-0.4.1/SoapyUHDDevice.cpp
In file included from /usr/include/boost/smart_ptr/detail/requires_cxx11.hpp:9,
from /usr/include/boost/smart_ptr/shared_ptr.hpp:17,
from /usr/include/boost/shared_ptr.hpp:17,
from /usr/include/boost/format/alt_sstream.hpp:22,
from /usr/include/boost/format/internals.hpp:24,
from /usr/include/boost/format.hpp:38,
from /usr/include/uhd/types/dict.ipp:12,
from /usr/include/uhd/types/dict.hpp:156,
from /usr/include/uhd/types/device_addr.hpp:11,
from /build/reproducible-path/soapyuhd-0.4.1/TypeHelpers.hpp:7,
from /build/reproducible-path/soapyuhd-0.4.1/UHDSoapyDevice.cpp:14:
/usr/include/boost/bind.hpp:36:1: note: ‘#pragma message: The practice of declaring the Bind placeholders (_1, _2, ...) in the global namespace is deprecated. Please use <boost/bind/bind.hpp> + using namespace boost::placeholders, or define BOOST_BIND_GLOBAL_PLACEHOLDERS to retain the current behavior.’
36 | BOOST_PRAGMA_MESSAGE(
| ^~~~~~~~~~~~~~~~~~~~
/build/reproducible-path/soapyuhd-0.4.1/UHDSoapyDevice.cpp: In member function ‘virtual uhd::rx_streamer::sptr UHDSoapyDevice::get_rx_stream(const uhd::stream_args_t&)’:
/build/reproducible-path/soapyuhd-0.4.1/UHDSoapyDevice.cpp:724:101: error: invalid new-expression of abstract class type ‘UHDSoapyRxStream’
724 | uhd::rx_streamer::sptr stream(new UHDSoapyRxStream(_device, args, _sampleRates[SOAPY_SDR_RX][ch]));
| ^
/build/reproducible-path/soapyuhd-0.4.1/UHDSoapyDevice.cpp:550:7: note: because the following virtual functions are pure within ‘UHDSoapyRxStream’:
550 | class UHDSoapyRxStream : public uhd::rx_streamer
| ^~~~~~~~~~~~~~~~
In file included from /usr/include/uhd/device.hpp:12,
from /build/reproducible-path/soapyuhd-0.4.1/UHDSoapyDevice.cpp:18:
/usr/include/uhd/stream.hpp:266:18: note: ‘virtual void uhd::rx_streamer::post_input_action(const std::shared_ptr<uhd::rfnoc::action_info>&, size_t)’
266 | virtual void post_input_action(
| ^~~~~~~~~~~~~~~~~
/build/reproducible-path/soapyuhd-0.4.1/UHDSoapyDevice.cpp: In member function ‘virtual uhd::tx_streamer::sptr UHDSoapyDevice::get_tx_stream(const uhd::stream_args_t&)’:
/build/reproducible-path/soapyuhd-0.4.1/UHDSoapyDevice.cpp:864:69: error: invalid new-expression of abstract class type ‘UHDSoapyTxStream’
864 | uhd::tx_streamer::sptr stream(new UHDSoapyTxStream(_device, args));
| ^
/build/reproducible-path/soapyuhd-0.4.1/UHDSoapyDevice.cpp:733:7: note: because the following virtual functions are pure within ‘UHDSoapyTxStream’:
733 | class UHDSoapyTxStream : public uhd::tx_streamer
| ^~~~~~~~~~~~~~~~
/usr/include/uhd/stream.hpp:338:18: note: ‘virtual void uhd::tx_streamer::post_output_action(const std::shared_ptr<uhd::rfnoc::action_info>&, size_t)’
338 | virtual void post_output_action(
| ^~~~~~~~~~~~~~~~~~
make[3]: *** [CMakeFiles/soapySupport.dir/build.make:82: CMakeFiles/soapySupport.dir/UHDSoapyDevice.cpp.o] Error 1
Cheers
--
Sebastian Ramacher
Reply to: