[Debian-mobcom-maintainers] Bug#993701: srslte: FTBFS with libsoapysdr 0.8
Andreas Bombe
aeb at debian.org
Sun Sep 5 00:51:13 BST 2021
Source: srslte
Version: 18.06.1+ds.1
Severity: important
Tags: ftbfs
I am building rdeps of libsoapysdr in preparation of the transition to
version 0.8. This version has changed the SoapySDRDevice_setupStream()
function signature to return the SoapySDRStream directly rather than
through a pointer:
* Recommended keys to use in the args dictionary:
* - "WIRE" - format of the samples between device and host
* \endparblock
- * \return 0 for success or error code on failure
+ * \return the stream pointer or nullptr for failure
*/
-SOAPY_SDR_API int SoapySDRDevice_setupStream(SoapySDRDevice *device,
- SoapySDRStream **stream,
+SOAPY_SDR_API SoapySDRStream *SoapySDRDevice_setupStream(SoapySDRDevice *device,
const int direction,
const char *format,
const size_t *channels,
This change causes a build failure in srslte when building against the
new libsoapysdr. I can see upstream has already fixed that in their
sources. Log of the failed build:
/build/srslte-18.06.1+ds.1/lib/src/phy/rf/rf_soapy_imp.c: In function 'rf_soapy_open_multi':
/build/srslte-18.06.1+ds.1/lib/src/phy/rf/rf_soapy_imp.c:344:52: warning: passing argument 2 of 'SoapySDRDevice_setupStream' makes integer from pointer without a cast [-Wint-conversion]
344 | if(SoapySDRDevice_setupStream(handler->device, &(handler->rxStream), SOAPY_SDR_RX, SOAPY_SDR_CF32, NULL, 0, NULL) != 0) {
| ^~~~~~~~~~~~~~~~~~~~
| |
| SoapySDRStream **
In file included from /build/srslte-18.06.1+ds.1/lib/src/phy/rf/rf_soapy_imp.c:37:
/usr/include/SoapySDR/Device.h:307:15: note: expected 'int' but argument is of type 'SoapySDRStream **'
307 | const int direction,
| ~~~~~~~~~~^~~~~~~~~
/build/srslte-18.06.1+ds.1/lib/src/phy/rf/rf_soapy_imp.c:344:74: warning: passing argument 3 of 'SoapySDRDevice_setupStream' makes pointer from integer without a cast [-Wint-conversion]
344 | if(SoapySDRDevice_setupStream(handler->device, &(handler->rxStream), SOAPY_SDR_RX, SOAPY_SDR_CF32, NULL, 0, NULL) != 0) {
| ^~~~~~~~~~~~
| |
| int
In file included from /build/srslte-18.06.1+ds.1/lib/src/phy/rf/rf_soapy_imp.c:37:
/usr/include/SoapySDR/Device.h:308:17: note: expected 'const char *' but argument is of type 'int'
308 | const char *format,
| ~~~~~~~~~~~~^~~~~~
/build/srslte-18.06.1+ds.1/lib/src/phy/rf/rf_soapy_imp.c:344:88: error: passing argument 4 of 'SoapySDRDevice_setupStream' from incompatible pointer type [-Werror=incompatible-pointer-types]
344 | if(SoapySDRDevice_setupStream(handler->device, &(handler->rxStream), SOAPY_SDR_RX, SOAPY_SDR_CF32, NULL, 0, NULL) != 0) {
| ^~~~~~~~~~~~~~
| |
| char *
In file included from /build/srslte-18.06.1+ds.1/lib/src/phy/rf/rf_soapy_imp.c:37:
/usr/include/SoapySDR/Device.h:309:19: note: expected 'const size_t *' {aka 'const long unsigned int *'} but argument is of type 'char *'
309 | const size_t *channels,
| ~~~~~~~~~~~~~~^~~~~~~~
/build/srslte-18.06.1+ds.1/lib/src/phy/rf/rf_soapy_imp.c:344:104: warning: passing argument 5 of 'SoapySDRDevice_setupStream' makes integer from pointer without a cast [-Wint-conversion]
344 | if(SoapySDRDevice_setupStream(handler->device, &(handler->rxStream), SOAPY_SDR_RX, SOAPY_SDR_CF32, NULL, 0, NULL) != 0) {
| ^~~~
| |
| void *
In file included from /build/srslte-18.06.1+ds.1/lib/src/phy/rf/rf_soapy_imp.c:37:
/usr/include/SoapySDR/Device.h:310:18: note: expected 'size_t' {aka 'const long unsigned int'} but argument is of type 'void *'
310 | const size_t numChans,
| ~~~~~~~~~~~~~^~~~~~~~
/build/srslte-18.06.1+ds.1/lib/src/phy/rf/rf_soapy_imp.c:344:8: error: too many arguments to function 'SoapySDRDevice_setupStream'
344 | if(SoapySDRDevice_setupStream(handler->device, &(handler->rxStream), SOAPY_SDR_RX, SOAPY_SDR_CF32, NULL, 0, NULL) != 0) {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /build/srslte-18.06.1+ds.1/lib/src/phy/rf/rf_soapy_imp.c:37:
/usr/include/SoapySDR/Device.h:306:31: note: declared here
306 | SOAPY_SDR_API SoapySDRStream *SoapySDRDevice_setupStream(SoapySDRDevice *device,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
/build/srslte-18.06.1+ds.1/lib/src/phy/rf/rf_soapy_imp.c:353:53: warning: passing argument 2 of 'SoapySDRDevice_setupStream' makes integer from pointer without a cast [-Wint-conversion]
353 | if (SoapySDRDevice_setupStream(handler->device, &(handler->txStream), SOAPY_SDR_TX, SOAPY_SDR_CF32, NULL, 0, NULL) != 0) {
| ^~~~~~~~~~~~~~~~~~~~
| |
| SoapySDRStream **
In file included from /build/srslte-18.06.1+ds.1/lib/src/phy/rf/rf_soapy_imp.c:37:
/usr/include/SoapySDR/Device.h:307:15: note: expected 'int' but argument is of type 'SoapySDRStream **'
307 | const int direction,
| ~~~~~~~~~~^~~~~~~~~
/build/srslte-18.06.1+ds.1/lib/src/phy/rf/rf_soapy_imp.c:353:89: error: passing argument 4 of 'SoapySDRDevice_setupStream' from incompatible pointer type [-Werror=incompatible-pointer-types]
353 | if (SoapySDRDevice_setupStream(handler->device, &(handler->txStream), SOAPY_SDR_TX, SOAPY_SDR_CF32, NULL, 0, NULL) != 0) {
| ^~~~~~~~~~~~~~
| |
| char *
In file included from /build/srslte-18.06.1+ds.1/lib/src/phy/rf/rf_soapy_imp.c:37:
/usr/include/SoapySDR/Device.h:309:19: note: expected 'const size_t *' {aka 'const long unsigned int *'} but argument is of type 'char *'
309 | const size_t *channels,
| ~~~~~~~~~~~~~~^~~~~~~~
/build/srslte-18.06.1+ds.1/lib/src/phy/rf/rf_soapy_imp.c:353:105: warning: passing argument 5 of 'SoapySDRDevice_setupStream' makes integer from pointer without a cast [-Wint-conversion]
353 | if (SoapySDRDevice_setupStream(handler->device, &(handler->txStream), SOAPY_SDR_TX, SOAPY_SDR_CF32, NULL, 0, NULL) != 0) {
| ^~~~
| |
| void *
In file included from /build/srslte-18.06.1+ds.1/lib/src/phy/rf/rf_soapy_imp.c:37:
/usr/include/SoapySDR/Device.h:310:18: note: expected 'size_t' {aka 'const long unsigned int'} but argument is of type 'void *'
310 | const size_t numChans,
| ~~~~~~~~~~~~~^~~~~~~~
/build/srslte-18.06.1+ds.1/lib/src/phy/rf/rf_soapy_imp.c:353:9: error: too many arguments to function 'SoapySDRDevice_setupStream'
353 | if (SoapySDRDevice_setupStream(handler->device, &(handler->txStream), SOAPY_SDR_TX, SOAPY_SDR_CF32, NULL, 0, NULL) != 0) {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
More information about the Debian-mobcom-maintainers
mailing list