From jordan at k9fax.us Fri Jul 30 06:35:26 2021 From: jordan at k9fax.us (jordan at k9fax.us) Date: Fri, 30 Jul 2021 01:35:26 -0500 Subject: [osmocom-analog] Unable to compile with SoapySDR Message-ID: <97cde6865aa6c4f87d2abcaa6f9485e0@k9fax.us> Hello, I am having a problem getting osmo analog to compile with soapySDR support. I have ensured all required libraries are installed. My hardware is a Raspberry pi 4 running Ubuntu Server 21.04 64-bit. Here is the error output: Making all in libsdr make[2]: Entering directory '/home/ubuntu/osmocom-analog/src/libsdr' CC soapy.o soapy.c: In function ?soapy_open?: soapy.c:253:52: warning: passing argument 2 of ?SoapySDRDevice_setupStream? makes pointer from integer without a cast [-Wint-conversion] 253 | if (!(rxStream = SoapySDRDevice_setupStream(sdr, SOAPY_SDR_RX, SOAPY_SDR_CF32, &channel, 1, &stream_args))) | ^~~~~~~~~~~~ | | | int In file included from soapy.c:26: /usr/include/SoapySDR/Device.h:295:22: note: expected ?SoapySDRStream **? but argument is of type ?int? 295 | SoapySDRStream **stream, | ~~~~~~~~~~~~~~~~~^~~~~~ soapy.c:253:66: warning: passing argument 3 of ?SoapySDRDevice_setupStream? makes integer from pointer without a cast [-Wint-conversion] 253 | if (!(rxStream = SoapySDRDevice_setupStream(sdr, SOAPY_SDR_RX, SOAPY_SDR_CF32, &channel, 1, &stream_args))) | ^~~~~~~~~~~~~~ | | | char * In file included from soapy.c:26: /usr/include/SoapySDR/Device.h:296:15: note: expected ?int? but argument is of type ?char *? 296 | const int direction, | ~~~~~~~~~~^~~~~~~~~ soapy.c:253:82: warning: passing argument 4 of ?SoapySDRDevice_setupStream? from incompatible pointer type [-Wincompatible-pointer-types] 253 | if (!(rxStream = SoapySDRDevice_setupStream(sdr, SOAPY_SDR_RX, SOAPY_SDR_CF32, &channel, 1, &stream_args))) | ^~~~~~~~ | | | size_t * {aka long unsigned int *} In file included from soapy.c:26: /usr/include/SoapySDR/Device.h:297:17: note: expected ?const char *? but argument is of type ?size_t *? {aka ?long unsigned int *?} 297 | const char *format, | ~~~~~~~~~~~~^~~~~~ soapy.c:253:92: warning: passing argument 5 of ?SoapySDRDevice_setupStream? makes pointer from integer without a cast [-Wint-conversion] 253 | if (!(rxStream = SoapySDRDevice_setupStream(sdr, SOAPY_SDR_RX, SOAPY_SDR_CF32, &channel, 1, &stream_args))) | ^ | | | int In file included from soapy.c:26: /usr/include/SoapySDR/Device.h:298:19: note: expected ?const size_t *? {aka ?const long unsigned int *?} but argument is of type ?int? 298 | const size_t *channels, | ~~~~~~~~~~~~~~^~~~~~~~ soapy.c:253:95: warning: passing argument 6 of ?SoapySDRDevice_setupStream? makes integer from pointer without a cast [-Wint-conversion] 253 | if (!(rxStream = SoapySDRDevice_setupStream(sdr, SOAPY_SDR_RX, SOAPY_SDR_CF32, &channel, 1, &stream_args))) | ^~~~~~~~~~~~ | | | SoapySDRKwargs * In file included from soapy.c:26: /usr/include/SoapySDR/Device.h:299:18: note: expected ?size_t? {aka ?const long unsigned int?} but argument is of type ?SoapySDRKwargs *? 299 | const size_t numChans, | ~~~~~~~~~~~~~^~~~~~~~ soapy.c:253:20: error: too few arguments to function ?SoapySDRDevice_setupStream? 253 | if (!(rxStream = SoapySDRDevice_setupStream(sdr, SOAPY_SDR_RX, SOAPY_SDR_CF32, &channel, 1, &stream_args))) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from soapy.c:26: /usr/include/SoapySDR/Device.h:294:19: note: declared here 294 | SOAPY_SDR_API int SoapySDRDevice_setupStream(SoapySDRDevice *device, | ^~~~~~~~~~~~~~~~~~~~~~~~~~ soapy.c:378:66: warning: passing argument 3 of ?SoapySDRDevice_setupStream? makes integer from pointer without a cast [-Wint-conversion] 378 | if (!(txStream = SoapySDRDevice_setupStream(sdr, SOAPY_SDR_TX, SOAPY_SDR_CF32, &channel, 1, &stream_args))) | ^~~~~~~~~~~~~~ | | | char * In file included from soapy.c:26: /usr/include/SoapySDR/Device.h:296:15: note: expected ?int? but argument is of type ?char *? 296 | const int direction, | ~~~~~~~~~~^~~~~~~~~ soapy.c:378:82: warning: passing argument 4 of ?SoapySDRDevice_setupStream? from incompatible pointer type [-Wincompatible-pointer-types] 378 | if (!(txStream = SoapySDRDevice_setupStream(sdr, SOAPY_SDR_TX, SOAPY_SDR_CF32, &channel, 1, &stream_args))) | ^~~~~~~~ | | | size_t * {aka long unsigned int *} In file included from soapy.c:26: /usr/include/SoapySDR/Device.h:297:17: note: expected ?const char *? but argument is of type ?size_t *? {aka ?long unsigned int *?} 297 | const char *format, | ~~~~~~~~~~~~^~~~~~ soapy.c:378:92: warning: passing argument 5 of ?SoapySDRDevice_setupStream? makes pointer from integer without a cast [-Wint-conversion] 378 | if (!(txStream = SoapySDRDevice_setupStream(sdr, SOAPY_SDR_TX, SOAPY_SDR_CF32, &channel, 1, &stream_args))) | ^ | | | int In file included from soapy.c:26: /usr/include/SoapySDR/Device.h:298:19: note: expected ?const size_t *? {aka ?const long unsigned int *?} but argument is of type ?int? 298 | const size_t *channels, | ~~~~~~~~~~~~~~^~~~~~~~ soapy.c:378:95: warning: passing argument 6 of ?SoapySDRDevice_setupStream? makes integer from pointer without a cast [-Wint-conversion] 378 | if (!(txStream = SoapySDRDevice_setupStream(sdr, SOAPY_SDR_TX, SOAPY_SDR_CF32, &channel, 1, &stream_args))) | ^~~~~~~~~~~~ | | | SoapySDRKwargs * In file included from soapy.c:26: /usr/include/SoapySDR/Device.h:299:18: note: expected ?size_t? {aka ?const long unsigned int?} but argument is of type ?SoapySDRKwargs *? 299 | const size_t numChans, | ~~~~~~~~~~~~~^~~~~~~~ soapy.c:378:20: error: too few arguments to function ?SoapySDRDevice_setupStream? 378 | if (!(txStream = SoapySDRDevice_setupStream(sdr, SOAPY_SDR_TX, SOAPY_SDR_CF32, &channel, 1, &stream_args))) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from soapy.c:26: /usr/include/SoapySDR/Device.h:294:19: note: declared here 294 | SOAPY_SDR_API int SoapySDRDevice_setupStream(SoapySDRDevice *device, | ^~~~~~~~~~~~~~~~~~~~~~~~~~ make[2]: *** [Makefile:359: soapy.o] Error 1 make[2]: Leaving directory '/home/ubuntu/osmocom-analog/src/libsdr' make[1]: *** [Makefile:360: all-recursive] Error 1 make[1]: Leaving directory '/home/ubuntu/osmocom-analog/src' make: *** [Makefile:365: all-recursive] Error 1 Thanks for any suggestions and help!