Closed ZeroChaos- closed 4 years ago
The behaviour makes it look like the UHD_VERSION define is different on your system. You should not see boost:: smart pointer stuff in there.
What value do you have in uhd/version.hpp? I have #define UHD_VERSION 4000099
after installing from the "v4.0.0.0" tag
//stash streamers to implement old-style issue stream cmd and async message
#if UHD_VERSION > 4000000
std::map<size_t, std::weak_ptr<uhd::rx_streamer> > _rx_streamers;
std::map<size_t, std::weak_ptr<uhd::tx_streamer> > _tx_streamers;
#else
std::map<size_t, boost::weak_ptr<uhd::rx_streamer> > _rx_streamers;
std::map<size_t, boost::weak_ptr<uhd::tx_streamer> > _tx_streamers;
#endif
zero@theprophet ~ % cat /usr/include/uhd/version.hpp
//
// Copyright 2010-2016 Ettus Research LLC
// Copyright 2018 Ettus Research, a National Instruments Company
//
// SPDX-License-Identifier: GPL-3.0-or-later
//
#pragma once
/*!
* The ABI version string that the client application builds against.
* Call get_abi_string() to check this against the library build.
* The format is oldest API compatible release - ABI compat number.
* The compatibility number allows pre-release ABI to be versioned.
*/
#define UHD_VERSION_ABI_STRING "4.0.0"
/*!
* A macro to check UHD version at compile-time.
* The value of this macro is MAJOR * 1000000 + API * 10000 + ABI * 100 + PATCH
* (e.g., for UHD 3.10.0.1 this is 3100001).
*/
#define UHD_VERSION 4000000
#ifdef __cplusplus
#include <uhd/config.hpp>
#include <string>
namespace uhd{
//! Get the version string (dotted version number + build info)
UHD_API std::string get_version_string(void);
//! Get the ABI compatibility string for this build of the library
UHD_API std::string get_abi_string(void);
//! Get the component string
UHD_API std::string get_component(void);
} //namespace uhd
#endif
You must have a release mode build or something that doesnt set the patch level. Such a dumb fix: https://github.com/pothosware/SoapyUHD/commit/a267e3b266cc0df01c16b8eff8a349b356cde3df
compiled successfully and looking good. my apologies for not catching this before asking for a release. Risking it all again, can I get another tag please? :-)
thanks again :-)
This compiles fine against older uhd, but doesn't appear to quite be compatible with 4.0.0.0