dvdesolve/glrpt

Compile error

benb0jangles opened this issue · 12 comments

During make command I get this, any ideas?:
.
.
.
.
.

sdr/SoapySDR.c:511:9: error: too many arguments to function ‘SoapySDRDevice_setupStream’
ret = SoapySDRDevice_setupStream(
^~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from sdr/SoapySDR.h:18:0,
from sdr/SoapySDR.c:15:
/usr/local/include/SoapySDR/Device.h:295:31: note: declared here
SOAPY_SDR_API SoapySDRStream *SoapySDRDevice_setupStream(SoapySDRDevice *device,
^~~~~~~~~~~~~~~~~~~~~~~~~~
sdr/SoapySDR.c:511:7: warning: assignment makes integer from pointer without a cast [-Wint-conversion]
ret = SoapySDRDevice_setupStream(
^
Makefile:613: recipe for target 'sdr/SoapySDR.o' failed
make[2]: *** [sdr/SoapySDR.o] Error 1
make[2]: Leaving directory '/home/benji/glrpt-2.5.2/src'
Makefile:484: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/benji/glrpt-2.5.2'
Makefile:425: recipe for target 'all' failed
make: *** [all] Error 2

See #7, #12

Says I have SOAPYSDR 0.7

SoapySDRUtil -info
######################################################

Soapy SDR -- the SDR abstraction library

######################################################

Lib Version: v0.7.1-myriadrf1~ubuntu18.04
API Version: v0.7.1
ABI Version: v0.7
Install root: /usr
Search path: /usr/lib/aarch64-linux-gnu/SoapySDR/modules0.7
Search path: /usr/local/lib/aarch64-linux-gnu/SoapySDR/modules0.7 (missing)
Search path: /usr/local/lib/SoapySDR/modules0.7 (missing)
Module found: /usr/lib/aarch64-linux-gnu/SoapySDR/modules0.7/libremoteSupport.so (0.5.1)
Module found: /usr/lib/aarch64-linux-gnu/SoapySDR/modules0.7/librtlsdrSupport.so (0.3.0)
Available factories... remote, rtlsdr
Available converters...

  • CF32 -> [CF32, CS16, CS8, CU16, CU8]
  • CS16 -> [CF32, CS16, CS8, CU16, CU8]
  • CS32 -> [CS32]
  • CS8 -> [CF32, CS16, CS8, CU16, CU8]
  • CU16 -> [CF32, CS16, CS8]
  • CU8 -> [CF32, CS16, CS8]
  • F32 -> [F32, S16, S8, U16, U8]
  • S16 -> [F32, S16, S8, U16, U8]
  • S32 -> [S32]
  • S8 -> [F32, S16, S8, U16, U8]
  • U16 -> [F32, S16, S8]
  • U8 -> [F32, S16, S8]

According to your first post we have a problem with /usr/local/include/SoapySDR/Device.h file. This means that your newer version is installed in /usr/local while your SoapySDRUtil tells us that installation in /usr. Also please note that it tries to search in /usr/local too but with missing result.
BTW, what is your distro version?

Nvidia Jetson Nano
Distributor ID: Ubuntu
Description: Ubuntu 18.04.5 LTS
Release: 18.04
Codename: bionic

Please check if you have separate SoapySDR installed on your system. 0.7 is guaranteed to work. May be you should provide correct include path during CMake stage so proper headers will be picked up

Please tell, most efficient way to remove all SoapySDR and start again
I used:
sudo apt-get remove --auto-remove soapysdr-module-all

At first show the contents of your /usr/lib and /usr/local/lib with:

ls /usr/include | grep -i soapy
ls /usr/lib | grep -i soapy
ls /usr/local/include | grep -i soapy
ls /usr/local/lib | grep -i soapy

ls /usr/include | grep -i soapy
SoapySDR

ls /usr/lib | grep -i soapy

ls /usr/local/include | grep -i soapy
SoapySDR

ls /usr/local/lib | grep -i soapy
libSoapySDR.so
libSoapySDR.so.0.8
libSoapySDR.so.0.8.0
SoapySDR

Yep, that's the point. Did you tried to install SoapySDR by hand from sources?

So many SoapySDR experiments on Jetson Nano lol

you should remove all separately installed Soapy libs from your system. If you have build tree untouched you can use sudo make uninstall from it

Solved:
Started from scratch, I installed SoapySDR on a fresh SD card using Jetpack 4.5 Production Release on Jetson Nano 2GB
https://forums.developer.nvidia.com/t/jetpack-4-5-production-release-with-l4t-32-5/166475