spberrypi:~ $ wget http://www.sdrplay.com/software/SDRplay_RSP_API-ARM32-3.07.2.run --2024-03-03 05:03:11-- http://www.sdrplay.com/software/SDRplay_RSP_API-ARM32-3.07.2.run Resolving www.sdrplay.com (www.sdrplay.com)... 62.138.8.44 Connecting to www.sdrplay.com (www.sdrplay.com)|62.138.8.44|:80... connected. HTTP request sent, awaiting response... 301 Moved Permanently Location: https://www.sdrplay.com/software/SDRplay_RSP_API-ARM32-3.07.2.run [following] --2024-03-03 05:03:11-- https://www.sdrplay.com/software/SDRplay_RSP_API-ARM32-3.07.2.run Connecting to www.sdrplay.com (www.sdrplay.com)|62.138.8.44|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 187878 (183K) [application/x-makeself] Saving to: ‘SDRplay_RSP_API-ARM32-3.07.2.run’ SDRplay_RSP_API-ARM 100%[===================>] 183.47K --.-KB/s in 0.1s 2024-03-03 05:03:12 (1.37 MB/s) - ‘SDRplay_RSP_API-ARM32-3.07.2.run’ saved [187878/187878] pi@raspberrypi:~ $ chmod +x SDRplay_RSP_API-ARM32-3.07.2.run pi@raspberrypi:~ $ sudo ./SDRplay_RSP_API-ARM32-3.07.2.run Verifying archive integrity... All good. Uncompressing SDRplay RSP API Install Package V3.07 (installer v2) Installing SDRplay RSP API library 3.07... Press RETURN to view the license agreement Press space when prompted with --More-- to read the license agreement. SDRplay Limited END USER LICENCE AGREEMENT Press y and RETURN to accept the license agreement and continue with the installation, or press n and RETURN to exit the installer [y/n] y Architecture: armv7l API Version: 3.07 If not installing as root, you will be prompted for your password for sudo access to the /usr/local area... The rest of the installation will continue with root permission... Udev rules directory found, adding rules...Done Installing files into /usr/local (/lib, /bin, /include)... Installing /usr/local/lib/libsdrplay_api.so.3.07...Done Installing header files in /usr/local/include...Done Installing API Service in /usr/local/bin...Done Installing Service scripts and starting daemon...Created symlink /etc/systemd/system/multi-user.target.wants/sdrplay.service → /etc/systemd/system/sdrplay.service. Done Service has been installed and started. This device should be rebooted before the service is used. After the installation script finishes, reboot this device. To start and stop the API service, use the following commands... sudo systemctl start sdrplay sudo systemctl stop sdrplay SDRplay API 3.07 Installation Finished Would you like to add SDRplay USB IDs to the local database for easier identification in applications such as lsusb? [y/n] y This script will add the SDRplay IDs to the local USB database and will require sudo permissions. Enter your password if prompted No USB database found. Exiting... SDRplay IDs added. Try typing lsusb with an SDRplay device connected. If the USB IDs get updated from the central reprository, just type the following command to add the SDRplay devices again... sdrplay_usbids.sh Installation Finished pi@raspberrypi:~ $ sudo apt-get install build-essential cmake libsoapysdr-dev Reading package lists... Done Building dependency tree... Done Reading state information... Done build-essential is already the newest version (12.9). The following additional packages will be installed: cmake-data libarchive13 libjsoncpp24 librhash0 Suggested packages: cmake-doc ninja-build lrzip libsoapysdr-doc The following NEW packages will be installed: cmake cmake-data libarchive13 libjsoncpp24 librhash0 libsoapysdr-dev 0 upgraded, 6 newly installed, 0 to remove and 0 not upgraded. Need to get 5,366 kB of archives. After this operation, 28.9 MB of additional disk space will be used. Do you want to continue? [Y/n] y Get:1 http://archive.raspberrypi.org/debian bullseye/main armhf cmake-data all 3.18.4-2+rpt1+rpi1+deb11u1 [1,726 kB] Get:4 http://archive.raspberrypi.org/debian bullseye/main armhf cmake armhf 3.18.4-2+rpt1+rpi1+deb11u1 [3,104 kB] Get:2 http://raspbian.raspberrypi.org/raspbian bullseye/main armhf libarchive13armhf 3.4.3-2+deb11u1 [297 kB] Get:3 http://mirrors.ircam.fr/pub/raspbian/raspbian bullseye/main armhf libjsoncpp24 armhf 1.9.4-4 [67.0 kB] Get:5 http://mirrors.ircam.fr/pub/raspbian/raspbian bullseye/main armhf librhash0 armhf 1.4.1-2 [141 kB] Get:6 http://distrib-coffee.ipsl.jussieu.fr/pub/linux/raspbian/raspbian bullseye/main armhf libsoapysdr-dev armhf 0.7.2-2 [31.5 kB] Fetched 5,366 kB in 1s (3,677 kB/s) Selecting previously unselected package cmake-data. (Reading database ... 136286 files and directories currently installed.) Preparing to unpack .../0-cmake-data_3.18.4-2+rpt1+rpi1+deb11u1_all.deb ... Unpacking cmake-data (3.18.4-2+rpt1+rpi1+deb11u1) ... Selecting previously unselected package libarchive13:armhf. Preparing to unpack .../1-libarchive13_3.4.3-2+deb11u1_armhf.deb ... Unpacking libarchive13:armhf (3.4.3-2+deb11u1) ... Selecting previously unselected package libjsoncpp24:armhf. Preparing to unpack .../2-libjsoncpp24_1.9.4-4_armhf.deb ... Unpacking libjsoncpp24:armhf (1.9.4-4) ... Selecting previously unselected package librhash0:armhf. Preparing to unpack .../3-librhash0_1.4.1-2_armhf.deb ... Unpacking librhash0:armhf (1.4.1-2) ... Selecting previously unselected package cmake. Preparing to unpack .../4-cmake_3.18.4-2+rpt1+rpi1+deb11u1_armhf.deb ... Unpacking cmake (3.18.4-2+rpt1+rpi1+deb11u1) ... Selecting previously unselected package libsoapysdr-dev:armhf. Preparing to unpack .../5-libsoapysdr-dev_0.7.2-2_armhf.deb ... Unpacking libsoapysdr-dev:armhf (0.7.2-2) ... Setting up libarchive13:armhf (3.4.3-2+deb11u1) ... Setting up libsoapysdr-dev:armhf (0.7.2-2) ... Setting up libjsoncpp24:armhf (1.9.4-4) ... Setting up librhash0:armhf (1.4.1-2) ... Setting up cmake-data (3.18.4-2+rpt1+rpi1+deb11u1) ... Setting up cmake (3.18.4-2+rpt1+rpi1+deb11u1) ... Processing triggers for man-db (2.9.4-2) ... Processing triggers for libc-bin (2.31-13+rpt2+rpi1+deb11u7) ... Scanning processes... Scanning processor microcode... Scanning linux images... Running kernel seems to be up-to-date. Failed to check for processor microcode upgrades. No services need to be restarted. No containers need to be restarted. No user sessions are running outdated binaries. pi@raspberrypi:~ $ git clone https://github.com/SDRplay/SoapySDRPlay Cloning into 'SoapySDRPlay'... remote: Enumerating objects: 461, done. remote: Counting objects: 100% (190/190), done. remote: Compressing objects: 100% (27/27), done. remote: Total 461 (delta 182), reused 163 (delta 163), pack-reused 271 Receiving objects: 100% (461/461), 132.40 KiB | 1.81 MiB/s, done. Resolving deltas: 100% (313/313), done. pi@raspberrypi:~ $ cd SoapySDRPlay pi@raspberrypi:~/SoapySDRPlay $ mkdir build pi@raspberrypi:~/SoapySDRPlay $ cd build pi@raspberrypi:~/SoapySDRPlay/build $ cmake .. -- The CXX compiler identification is GNU 10.2.1 -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: /usr/bin/c++ - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- Build type not specified: defaulting to release. -- Found libsdrplay: /usr/local/include, /usr/local/lib/libsdrplay_api.so -- LIBSDRPLAY_INCLUDE_DIRS - /usr/local/include -- LIBSDRPLAY_LIBRARIES - /usr/local/lib/libsdrplay_api.so -- Found Git: /usr/bin/git (found version "2.30.2") -- Module sdrPlaySupport configured with version: 0.5.1-2c8169d -- Configuring done -- Generating done -- Build files have been written to: /home/pi/SoapySDRPlay/build pi@raspberrypi:~/SoapySDRPlay/build $ make Scanning dependencies of target sdrPlaySupport [ 16%] Building CXX object CMakeFiles/sdrPlaySupport.dir/Registration.cpp.o /home/pi/SoapySDRPlay/Registration.cpp: In function ‘std::vector, std::__cxx11::basic_string > > findSDRPlay(const Kwargs&)’: /home/pi/SoapySDRPlay/Registration.cpp:52:26: error: ‘struct sdrplay_api_Device’ has no member named ‘valid’ 52 | if (not rspDevs[i].valid) continue; | ^~~~~ /home/pi/SoapySDRPlay/Registration.cpp:66:36: error: ‘SDRPLAY_RSP1B_ID’ was not declared in this scope; did you mean ‘SDRPLAY_RSP1_ID’? 66 | else if (rspDevs[i].hwVer == SDRPLAY_RSP1B_ID) | ^~~~~~~~~~~~~~~~ | SDRPLAY_RSP1_ID /home/pi/SoapySDRPlay/Registration.cpp:84:44: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 3 has type ‘std::vector, std::__cxx11::basic_string > >::size_type’ {aka unsigned int’} [-Wformat=] 84 | sprintf_s(lblstr, sizeof(lblstr), "SDRplay Dev%ld %s %s", results.size(), modelName.c_str(), rspDevs[i].SerNo); | ^~~~~~~~~~~~~~~~~~~~~~ ~~~~~ ~~~~~~~~~ | | | std::vector, std::__cxx11::basi c_string > >::size_type {aka unsigned int} /home/pi/SoapySDRPlay/Registration.cpp:31:76: note: in definition of macro ‘sprintf_s’ 31 | _s(buffer, buffer_size, stringbuffer, ...) (sprintf(buffer, stringbuffe, __VA_ARGS__)) | ^~~~~~~~~~~ /home/pi/SoapySDRPlay/Registration.cpp:84:58: note: format string is defined here 84 | sprintf_s(lblstr, sizeof(lblstr), "SDRplay Dev%ld %s %s", results.size(), modelName.c_str(), rspDevs[i].SerNo); | ~~^ | | | long int | %d /home/pi/SoapySDRPlay/Registration.cpp:99:47: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 3 has type ‘std::vector, std::__cxx11::basic_string > >::size_type’ {aka unsigned int’} [-Wformat=] 99 | sprintf_s(lblstr, sizeof(lblstr), "SDRplay Dev%ld %s %s - Single Tuner", results.size(), modelName.c_str(), rspDevs[i].SerNo); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~ ~~~~~~~~~~~~~~ | | | std::vector, std::__cxx11::basic_string > >::size_type {aka unsigned int} /home/pi/SoapySDRPlay/Registration.cpp:31:76: note: in definition of macro ‘sprintf_s’ 31 | _s(buffer, buffer_size, stringbuffer, ...) (sprintf(buffer, stringbuffe, __VA_ARGS__)) | ^~~~~~~~~~~ /home/pi/SoapySDRPlay/Registration.cpp:99:61: note: format string is defined here 99 | sprintf_s(lblstr, sizeof(lblstr), "SDRplay Dev%ld %s %s - Single Tuner", results.size(), modelName.c_str(), rspDevs[i].SerNo); | ~~^ | | | long int | %d /home/pi/SoapySDRPlay/Registration.cpp:111:47: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 3 has type ‘std::vector, std::__cxx11::basic_string > >::size_type’ {aka ‘unsigned int’} [-Wformat=] 111 | sprintf_s(lblstr, sizeof(lblstr), "SDRplay Dev%ld %s %s - Dual Tuner", results.size(), modelName.c_str(), rspDevs[i].SerNo); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~ ~~~~~~~~~~~~~~ | | | std::vector, st d::__cxx11::basic_string > >::size_type {aka unsigned int} /home/pi/SoapySDRPlay/Registration.cpp:31:76: note: in definition of macro ‘sprintf_s’ 31 | _s(buffer, buffer_size, stringbuffer, ...) (sprintf(buffer, stringbuffe, __VA_ARGS__)) | ^~~~~~~~~~~ /home/pi/SoapySDRPlay/Registration.cpp:111:61: note: format string is defined here 111 | sprintf_s(lblstr, sizeof(lblstr), "SDRplay Dev%ld %s %s - Dual Tuner", results.size(), modelName.c_str(), rspDevs[i].SerNo); | ~~^ | | | long int | %d /home/pi/SoapySDRPlay/Registration.cpp:123:47: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 3 has type ‘std::vector, std::__cxx11::basic_string > >::size_type’ {aka ‘unsigned int’} [-Wformat=] 123 | sprintf_s(lblstr, sizeof(lblstr), "SDRplay Dev%ld %s %s - Master", results.size(), modelName.c_str(), rspDevs[i].SerNo); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~ ~~~~~~~~~~~~~~ | | | std::vector, std::_ _cxx11::basic_string > >::size_type {aka unsigned int} /home/pi/SoapySDRPlay/Registration.cpp:31:76: note: in definition of macro ‘sprintf_s’ 31 | _s(buffer, buffer_size, stringbuffer, ...) (sprintf(buffer, stringbuffe, __VA_ARGS__)) | ^~~~~~~~~~~ /home/pi/SoapySDRPlay/Registration.cpp:123:61: note: format string is defined here 123 | sprintf_s(lblstr, sizeof(lblstr), "SDRplay Dev%ld %s %s - Master", results.size(), modelName.c_str(), rspDevs[i].SerNo); | ~~^ | | | long int | %d /home/pi/SoapySDRPlay/Registration.cpp:135:47: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 3 has type ‘std::vector, std::__cxx11::basic_string > >::size_type’ {aka ‘unsigned int’} [-Wformat=] 135 | sprintf_s(lblstr, sizeof(lblstr), "SDRplay Dev%ld %s %s - Master (RSPduo sample rate=8Mhz)", results.size(), modelName.c_str(), rspDevs[i].SerNo); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~ | | | std::vector, std::__cxx11::basic_string > >::size_type {aka unsigne d int} /home/pi/SoapySDRPlay/Registration.cpp:31:76: note: in definition of macro ‘sprintf_s’ 31 | _s(buffer, buffer_size, stringbuffer, ...) (sprintf(buffer, stringbuffe, __VA_ARGS__)) | ^~~~~~~~~~~ /home/pi/SoapySDRPlay/Registration.cpp:135:61: note: format string is defined here 135 | sprintf_s(lblstr, sizeof(lblstr), "SDRplay Dev%ld %s %s - Master (RSPduo sample rate=8Mhz)", results.size(), modelName.c_str(), rspDevs[i].SerNo); | ~~^ | | | long int | %d /home/pi/SoapySDRPlay/Registration.cpp:147:47: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 3 has type ‘std::vector, std::__cxx11::basic_string > >::size_type’ {aka ‘unsigned int’} [-Wformat=] 147 | sprintf_s(lblstr, sizeof(lblstr), "SDRplay Dev%ld %s %s - Slave", results.size(), modelName.c_str(), rspDevs[i].SerNo); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~ ~~~~~~~~~~~~~~ | | | std::vector, std::__ cxx11::basic_string > >::size_type {aka unsigned int} /home/pi/SoapySDRPlay/Registration.cpp:31:76: note: in definition of macro ‘sprintf_s’ 31 | _s(buffer, buffer_size, stringbuffer, ...) (sprintf(buffer, stringbuffe, __VA_ARGS__)) | ^~~~~~~~~~~ /home/pi/SoapySDRPlay/Registration.cpp:147:61: note: format string is defined here 147 | sprintf_s(lblstr, sizeof(lblstr), "SDRplay Dev%ld %s %s - Slave", results.size(), modelName.c_str(), rspDevs[i].SerNo); | ~~^ | | | long int | %d make[2]: *** [CMakeFiles/sdrPlaySupport.dir/build.make:82: CMakeFiles/sdrPlaySupport.dir/Registration.cpp.o] Error 1 make[1]: *** [CMakeFiles/Makefile2:123: CMakeFiles/sdrPlaySupport.dir/all] Error2 make: *** [Makefile:149: all] Error 2