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!