pothosware / SoapyUHD

Soapy SDR plugins for UHD supported SDR devices
https://github.com/pothosware/SoapyUHD/wiki
GNU General Public License v3.0
55 stars 29 forks source link

Latest SoapyUHD build fails with boost errors #29

Closed ghostop14 closed 4 years ago

ghostop14 commented 4 years ago

This seems like a 'recent' issue, developed in the past 6 months. Compiling now throws errrors similar to the following: SoapyUHDDevice.cpp:68:13: error: ‘BOOST_FOREACH’ was not declared in this scope

Adding #include <boost/foreach.hpp> resolved this.

And a number of sptr conversion errors: UHDSoapyDevice.cpp:153:65: error: conversion from ‘boost::shared_ptr’ to non-scalar type ‘uhd::rx_streamer::sptr {aka std::shared_ptr}’ requested uhd::rx_streamer::sptr stream = _rx_streamers[chan].lock();

UHDSoapyDevice.cpp:719:71: error: no match for ‘operator=’ (operand types are ‘std::map<long unsigned int, boost::weak_ptr >::mapped_type {aka boost::weak_ptr}’ and ‘uhd::rx_streamer::sptr {aka std::shared_ptr}’) BOOST_FOREACH(const size_t ch, args.channels) _rx_streamers[ch] = stream;

Build environment is Ubuntu 18.04 LTS 64-bit fully updated with the latest SoapySDR and SoapyUHD repo's.

guruofquality commented 4 years ago

I think they switched to c++11 so the typedefs are different Can you try the patch mentioned here? https://github.com/pothosware/SoapyUHD/issues/28 I didnt hear back on the other issue