Giter Club home page Giter Club logo

sdrplusplus's Introduction

SDR++, The bloat-free SDR software

Screenshot SDR++ is a cross-platform and open source SDR software with the aim of being bloat free and simple to use.

Build

Features

  • Multi VFO
  • Wide hardware support (both through SoapySDR and dedicated modules)
  • SIMD accelerated DSP
  • Cross-platform (Windows, Linux, MacOS and BSD)
  • Full waterfall update when possible. Makes browsing signals easier and more pleasant
  • Modular design (easily write your own plugins)

Installing

Nightly Builds

Nightly builds contain the very latest features and bugfixes. They are usually just stable as normal releases but are available basically minutes to hours after a change has been pushed to the code.

You can download them here. It'll redirect you to the latest nightly on GitHub, scroll down to "Artifacts" and click on the version for your OS.

GitHub currently requires an account for the files to be downloadable so make sure you are logged in.

Windows

Download the latest release from the Releases page and extract to the directory of your choice.

To create a desktop shortcut, rightclick the exe and select Send to -> Desktop (create shortcut), then, rename the shortcut on the desktop to whatever you want.

Linux

Debian-based (Ubuntu, Mint, etc)

Download the latest release from the Releases page and extract to the directory of your choice.

Then, use apt to install it:

sudo apt install path/to/the/sdrpp_debian_amd64.deb

IMPORTANT: You must install the drivers for your SDR. Follow instructions from your manufacturer as to how to do this on your particular distro.

Arch-based

Install from source following the instructions below.

WARNING: The sdrpp-git AUR package is no longer official, it is not recommended to use it.

Other

There are currently no existing packages for other distributions, for these systems you'll have to build from source.

MacOS

Download the app bundle from the latest nightly build

BSD

There are currently no BSD packages, refer to Building on Linux / BSD for instructions on building from source.

Building on Windows

The preferred IDE is VS Code in order to have similar development experience across platforms and to build with CMake using the command line.

Install dependencies

  • cmake
  • vcpkg
  • PothosSDR (This will install libraries for most SDRs. You have to install it in C:/Program Files/PothosSDR)
  • RtAudio (You have to build and install it in C:/Program Files (x86)/RtAudio/)

After this, install the following dependencies using vcpkg:

  • fftw3
  • glfw3
  • zstd

You are probably going to build in 64 bit so make sure vcpkg installs the correct versions using .\vcpkg.exe install <package>:x64-windows

Building using the command line

IMPORTANT: Replace <vcpkg install directory> with vcpkg's install directory.

mkdir build
cd build
cmake .. "-DCMAKE_TOOLCHAIN_FILE=<vcpkg install directory>/scripts/buildsystems/vcpkg.cmake" -G "Visual Studio 16 2019"
cmake --build . --config Release

Running for development

Create a new configuration root directory

./create_root.bat

This will create the root_dev directory that will be used to save the configs of sdrpp and the modules.

You will next need to edit the root_dev/config.json file to point to the modules that were built. If the file is missing in your folder run the application once and it will create one with default value -- see later on how to run the application.

Run SDR++ from the command line

From the top directory, you can simply run:

./build/Release/sdrpp.exe -r root_dev -c

Or, if you wish to run from the build directory e.g. build/Release and adapt the relative path to the root_dev folder:

./sdrpp.exe -r ../../root_dev -c

The optional -c argument is for keeping the console active in order to see the error messages.

Because all the paths are relative, for the rest of the command line instructions we are going to assume you are running from the top directory using the former command. As mentioned previously you need to edit root_dev/config.json to add the modules that were built. From the default configuration file you need to add the paths in the modules section. Add to this list all the modules you wish to use.

...
"modules": [
    "./build/radio/Release/radio.dll",
    "./build/recorder/Release/recorder.dll",
    "./build/rtl_tcp_source/Release/rtl_tcp_source.dll",
    "./build/audio_sink/Release/audio_sink.dll"
]
...

You also need to change the location of the resource and module directories, for development, I recommend:

...
"modulesDirectory": "root_dev/modules",
...
"resourcesDirectory": "root_dev/res",
...

Remember that these paths will be relative to the run directory.

Installing SDR++

If you choose to run SDR++ for development, you do not need this step. First, copy over the exe and DLLs from build/Release/ to root_dev.

Next you need to copy over all the modules that were compiled. To do so, copy the DLL file of the module (located in its build folder given below) to the root_dev/modules directory and other DLLs (that do not have the exact name of the module) to the root_dev directory.

The modules built will be some of the following (Repeat the instructions above for all you wish to use):

  • build/radio/Release/
  • build/recorder/Release/
  • build/rtl_tcp_source/Release/
  • build/spyserver_source/Release/
  • build/airspyhf_source/Release/
  • build/plutosdr_source/Release/
  • build/audio_sink/Release/

Building on Linux / BSD

Select which modules you wish to build

Depending on which module you want to build, you will need to install some additional dependencies. Please refer to the module list table further down in this readme for the names, dependencies and build options of each module.

The build options are then passed to the cmake command as such cmake .. -DOPTION_NAME_HERE=ON -DANOTHER_OPTION_HERE=OFF etc...

Install dependencies

  • cmake
  • fftw3
  • glfw
  • libvolk
  • zstd

Next install dependencies based on the modules you wish to build (See previous step)

Note: make sure you're using GCC 8 or later as older versions do not have std::filesystem built-in.

Building

replace <N> with the number of threads you wish to use to build

mkdir build
cd build
cmake ..
make -j<N>

Create a new root directory

sh ./create_root.sh

Running for development

If you wish to install SDR++, skip to the next step

First run SDR++ from the build directory to generate a default config file

./sdrpp -r ../root_dev/

Then, you will need to edit the root_dev/config.json file to point to the modules that were built. Here is an example of what it should look like:

...
"modules": [
    "./build/radio/radio.so",
    "./build/recorder/recorder.so",
    "./build/rtl_tcp_source/rtl_tcp_source.so",
    "./build/audio_sink/audio_sink.so"
]
...

Note: You can generate this list automatically by running find . | grep '\.so' | sed 's/^/"/' | sed 's/$/",/' | sed '/sdrpp_core.so/d' in the build directory.

You also need to change the location of the resource and module directories, for development, I recommend:

...
"modulesDirectory": "./root_dev/modules",
...
"resourcesDirectory": "./root_dev/res",
...

Remember that these paths will be relative to the run directory.

Of course, remember to add entries for all modules that were built and that you wish to use.

Next, from the top directory, you can simply run:

./build/sdrpp -r root_dev

Or, if you wish to run from the build directory, you will need to correct the directories in the config.json file, and then run:

./sdrpp -r ../root_dev

Installing SDR++

To install SDR++, run the following command in your build folder:

sudo make install

Building on MacOS

Warning: This is not for the faint of heart and the instructions are mostly untested. It is recommended to use the nightly builds instead.

Install dependencies

The dependencies are exactly the same as for linux, see that section for the core dependencies as well as the module list for the per-module dependencies. You will need to install the dependencies using Homebrew.

Make sure to install portaudio as it'll be needed later.

An example install command would be:

brew install libusb fftw glfw airspy airspyhf portaudio hackrf rtl-sdr libbladerf codec2 zstd
pip3 install mako

Install volk

You will need to install volk from source. Follow the instructions on their repository. On M1 there are a few more manipulations needed.

Build

You will need a few special cmake argument on top of the linux ones. You will need to enable the portaudio sink modules -DOPT_BUILD_PORTAUDIO_SINK=ON -DOPT_BUILD_NEW_PORTAUDIO_SINK=ON and disable the usual rtaudio sink -DOPT_BUILD_AUDIO_SINK=OFF as well as the option to tell SDR++ that it will run as a MacOS bundle -DUSE_BUNDLE_DEFAULTS=ON. On MacOS versions older than Catalina (10.15), you will also need to use the internal std::filesystem as the OS can't provide it -DOPT_OVERRIDE_STD_FILESYSTEM=ON.

Here is an example of build commands that will build almost all modules at the time of writing. You can always check the CI scripts for the latest arguments just in case but this should work. From the top of the SDRPlusPlus directory:

mkdir build
cd build
cmake .. -DOPT_BUILD_SOAPY_SOURCE=OFF -DOPT_BUILD_BLADERF_SOURCE=ON -DOPT_BUILD_AUDIO_SOURCE=OFF -DOPT_BUILD_AUDIO_SINK=OFF -DOPT_BUILD_PORTAUDIO_SINK=ON -DOPT_BUILD_NEW_PORTAUDIO_SINK=ON -DOPT_BUILD_M17_DECODER=ON -DUSE_BUNDLE_DEFAULTS=ON -DCMAKE_BUILD_TYPE=Release
make -j<N>

Create bundle and install

From the top of the SDRPlusPlus directory:

sh make_macos_bundle.sh ./build ./SDR++.app

This will create a SDR++.app bundle that you can instal like any other MacOS app by dragging it into Applications.

Module List

Not all modules are built by default. I decided to disable the build of those with large libraries, libraries that can't be installed through the package manager (or pothos) and those that are still in beta. Modules in beta are still included in releases for the most part but not enabled in SDR++ (need to be instantiated).

Sources

Name Stage Dependencies Option Built by default Built in Release Enabled in SDR++ by default
airspy_source Working libairspy OPT_BUILD_AIRSPY_SOURCE
airspyhf_source Working libairspyhf OPT_BUILD_AIRSPYHF_SOURCE
audio_source Working rtaudio OPT_BUILD_AUDIO_SOURCE
bladerf_source Working libbladeRF OPT_BUILD_BLADERF_SOURCE ✅ (not Debian Buster)
file_source Working - OPT_BUILD_FILE_SOURCE
hackrf_source Working libhackrf OPT_BUILD_HACKRF_SOURCE
harogic_source Unfinished htra_api OPT_BUILD_HAROGIC_SOURCE
hermes_source Beta - OPT_BUILD_HERMES_SOURCE
limesdr_source Working liblimesuite OPT_BUILD_LIMESDR_SOURCE
network_source Unfinished - OPT_BUILD_NETWORK_SOURCE
perseus_source Beta libperseus-sdr OPT_BUILD_PERSEUS_SOURCE
plutosdr_source Working libiio, libad9361 OPT_BUILD_PLUTOSDR_SOURCE
rfnm_source Beta librfnm OPT_BUILD_RFNM_SOURCE
rfspace_source Working - OPT_BUILD_RFSPACE_SOURCE
rtl_sdr_source Working librtlsdr OPT_BUILD_RTL_SDR_SOURCE
rtl_tcp_source Working - OPT_BUILD_RTL_TCP_SOURCE
sdrplay_source Working SDRplay API OPT_BUILD_SDRPLAY_SOURCE
sdrpp_server_source Working - OPT_BUILD_SDRPP_SERVER_SOURCE
soapy_source Deprecated soapysdr OPT_BUILD_SOAPY_SOURCE
spectran_source Unfinished RTSA Suite OPT_BUILD_SPECTRAN_SOURCE
spectran_http_source Beta - OPT_BUILD_SPECTRAN_HTTP_SOURCE
spyserver_source Working - OPT_BUILD_SPYSERVER_SOURCE
usrp_source Beta libuhd OPT_BUILD_USRP_SOURCE

Sinks

Name Stage Dependencies Option Built by default Built in Release Enabled in SDR++ by default
android_audio_sink Working - OPT_BUILD_ANDROID_AUDIO_SINK ✅ (Android only)
audio_sink Working rtaudio OPT_BUILD_AUDIO_SINK
network_sink Working - OPT_BUILD_NETWORK_SINK
new_portaudio_sink Beta portaudio OPT_BUILD_NEW_PORTAUDIO_SINK
portaudio_sink Beta portaudio OPT_BUILD_PORTAUDIO_SINK

Decoders

Name Stage Dependencies Option Built by default Built in Release Enabled in SDR++ by default
atv_decoder Unfinished - OPT_BUILD_ATV_DECODER
falcon9_decoder Unfinished ffplay OPT_BUILD_FALCON9_DECODER
kgsstv_decoder Unfinished - OPT_BUILD_KGSSTV_DECODER
m17_decoder Working - OPT_BUILD_M17_DECODER
meteor_demodulator Working - OPT_BUILD_METEOR_DEMODULATOR
pager_decoder Unfinished - OPT_BUILD_PAGER_DECODER
radio Working - OPT_BUILD_RADIO
weather_sat_decoder Unfinished - OPT_BUILD_WEATHER_SAT_DECODER

Misc

Name Stage Dependencies Option Built by default Built in Release Enabled in SDR++ by default
discord_integration Working - OPT_BUILD_DISCORD_PRESENCE
frequency_manager Working - OPT_BUILD_FREQUENCY_MANAGER
iq_exporter Working - OPT_BUILD_IQ_EXPORTER
recorder Working - OPT_BUILD_RECORDER
rigctl_client Unfinished - OPT_BUILD_RIGCTL_CLIENT
rigctl_server Working - OPT_BUILD_RIGCTL_SERVER
scanner Beta - OPT_BUILD_SCANNER
scheduler Unfinished - OPT_BUILD_SCHEDULER

Troubleshooting

First, please make sure you're running the latest automated build. If your issue is linked to a bug it is likely that is has already been fixed in later releases

SDR++ crashes then it won't start again no matter what

This is a bug in 1.0.0 that was fixed in 1.0.1

In some cases, if a crash happened while the config was being saved, the config file would be corrupted and SDR++ would refuse to start because of it.

This has now been fixed. If a config file is corrupted it'll just reset it to its default state.

"hash collision" error when starting

You likely installed the soapysdr-module-all package on Ubuntu/Debian. If not it's still a SoapySDR bug caused by multiple soapy modules coming in conflict. Uninstall anything related to SoapySDR then install soapysdr itself and only the soapy modules you actually need.

"I don't see -insert module name here-, what's going on?"

If the module was included in a later update, it's not enabled in the config. The easiest way to fix this is just to delete the config.json file and let SDR++ recreate it (you will lose your setting relating to the main UI like VFO colors, zoom level and theme). The best option however is to edit the config file to add an instance of the module you wish to have enabled (see the Module List).

SDR++ crashes when stopping a RTL-SDR

This is a bug recently introduced by libusb1.4 To solve, this, simply downgrade to libusb1.3

SDR++ crashes when starting a HackRF

If you also have the SoapySDR module enabled, this is a bug in libhackrf. It's caused by libhackrf not checking if it's already initialized. The solution until a fixed libhackrf version is released is to disable the soapy_source module from SDR++. For this, go into the "Module Manager" menu and click the - button next to the row with "soapy_source". After that, restart SDR++.

Issue not listed here?

If you still have an issue, please open an issue about it or ask on the discord. I'll try to respond as quickly as I can. Please avoid trying to contact me on every platform imaginable thinking I'll respond faster though...

Contributing

Feel free to submit pull requests and report bugs via the GitHub issue tracker. I will soon publish a contributing.md listing the code style to use.

Credits

Patrons

Contributors

Libraries used

sdrplusplus's People

Contributors

3cky avatar aang23 avatar alexandrerouma avatar aosync avatar arkhnchul avatar armand31 avatar bvernoux avatar camk06 avatar corvus-ch avatar cropinghigh avatar daviderud avatar ericek111 avatar hb9fxq avatar howard0su avatar invader-zimm avatar joshuakimsey avatar kentuckyfrieddata avatar kistlin avatar konung-yaropolk avatar ledflighter avatar marvin-sinister avatar mbiette avatar ozies avatar pytlicek avatar rad750 avatar sergeyvfx avatar shuyuan-liu avatar thedocruby avatar theverygaming avatar zakrent avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sdrplusplus's Issues

Playback of recorded baseband

The software allows the recording of the IQ data to a .wav file. Is there a way that this data can be 'played back' into the software for post analysis - ie to run the existing functionality as is but sourcing the IQdata from the .wav file?

Software crashes if startup with showWaterfall set false

SDR++ v0.2.5_beta (Dec 24 2020). If I execute this software, disable view of the waterfall, and exit - thereafter the software 'crashes' when I try execute it again. The only way to get it to execute again is to manually edit the config.json to set showWaterfall to true. Hence it appears that the software has a problem if it is started with showWaterfall set false.

Unable to create Instance of soapy_source

I am trying to get the software which I have built, to operate. The software I am using is sdrplusplus-0.2.5_beta_preview2.
I have the following problem

When trying to create an instance of SoapySDR Source (soapy_source) called from
core::moduleManager.createInstance(name, module);

IN the function refresh, line "devList = SoapySDR::Device::enumerate();"
throws an exception as follows:
Exception thrown at 0x00007FFAD0644B42 (SoapySDR.dll) in sdrpp.exe: 0xC0000005: Access violation reading location 0x0000000000000019.
I cannot find the reason for this. The software is finding the dll - setup in config.json is
"modules": [
"./airspyhf_source/Debug/airspyhf_source.dll",
"./plutosdr_source/Debug/plutosdr_source.dll",
"./rtl_tcp_source/Debug/rtl_tcp_source.dll",
"./radio/Debug/radio.dll",
"./recorder/Debug/recorder.dll",
"./soapy_source/Debug/soapy_source.dll"
],

Any ideas would be appreciated

linux compile error

is my firts compile sdrplusplus i am under linux sorry my english i am french ...

is my log need your help

└─$ cmake ..
-- Checking for module 'libairspyhf'
-- Found libairspyhf, version 1.6
-- Checking for module 'libairspy'
-- Found libairspy, version 1.0
-- Configuring done
-- Generating done
-- Build files have been written to: /home/webs/SDRPlusPlus/build

┌──(webs㉿node-1w7jra91wlivqcczazcsm3zht)-[~/SDRPlusPlus/build]
└─$ make -j$(nproc)

[ 51%] Built target sdrpp_core
[ 55%] Built target sdrpp
[ 55%] Built target radio
[ 60%] Built target recorder
[ 60%] Built target file_source
[ 63%] Built target rtl_tcp_source
[ 64%] Building C object falcon9_decoder/CMakeFiles/falcon9_decoder.dir/src/libcorrect/convolutional/sse/decode.c.o
Scanning dependencies of target soapy_source
[ 65%] Building CXX object soapy_source/CMakeFiles/soapy_source.dir/src/main.cpp.o
In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/immintrin.h:35,
from /usr/lib/gcc/x86_64-linux-gnu/10/include/x86intrin.h:32,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/correct/convolutional/sse/lookup.h:5,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/correct/convolutional/sse/convolutional.h:2,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/convolutional/sse/decode.c:1:
/home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/convolutional/sse/decode.c: In function ‘convolutional_sse_decode_inner’:
/usr/lib/gcc/x86_64-linux-gnu/10/include/tmmintrin.h:136:1: error: inlining failed in call to ‘always_inline’ ‘_mm_shuffle_epi8’: target specific option mismatch
136 | _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
| ^~~~~~~~~~~~~~~~
/home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/convolutional/sse/decode.c:211:25: note: called from here
211 | hist2 = _mm_shuffle_epi8(hist2, hist_mask);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/immintrin.h:35,
from /usr/lib/gcc/x86_64-linux-gnu/10/include/x86intrin.h:32,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/correct/convolutional/sse/lookup.h:5,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/correct/convolutional/sse/convolutional.h:2,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/convolutional/sse/decode.c:1:
/usr/lib/gcc/x86_64-linux-gnu/10/include/tmmintrin.h:136:1: error: inlining failed in call to ‘always_inline’ ‘_mm_shuffle_epi8’: target specific option mismatch
136 | _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
| ^~~~~~~~~~~~~~~~
/home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/convolutional/sse/decode.c:208:25: note: called from here
208 | hist1 = _mm_shuffle_epi8(hist1, hist_mask);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/immintrin.h:35,
from /usr/lib/gcc/x86_64-linux-gnu/10/include/x86intrin.h:32,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/correct/convolutional/sse/lookup.h:5,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/correct/convolutional/sse/convolutional.h:2,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/convolutional/sse/decode.c:1:
/usr/lib/gcc/x86_64-linux-gnu/10/include/tmmintrin.h:136:1: error: inlining failed in call to ‘always_inline’ ‘_mm_shuffle_epi8’: target specific option mismatch
136 | _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
| ^~~~~~~~~~~~~~~~
/home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/convolutional/sse/decode.c:205:25: note: called from here
205 | hist0 = _mm_shuffle_epi8(hist0, hist_mask);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/immintrin.h:35,
from /usr/lib/gcc/x86_64-linux-gnu/10/include/x86intrin.h:32,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/correct/convolutional/sse/lookup.h:5,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/correct/convolutional/sse/convolutional.h:2,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/convolutional/sse/decode.c:1:
/usr/lib/gcc/x86_64-linux-gnu/10/include/tmmintrin.h:136:1: error: inlining failed in call to ‘always_inline’ ‘_mm_shuffle_epi8’: target specific option mismatch
136 | _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
| ^~~~~~~~~~~~~~~~
/home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/convolutional/sse/decode.c:202:24: note: called from here
202 | hist = _mm_shuffle_epi8(hist, hist_mask);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/immintrin.h:37,
from /usr/lib/gcc/x86_64-linux-gnu/10/include/x86intrin.h:32,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/correct/convolutional/sse/lookup.h:5,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/correct/convolutional/sse/convolutional.h:2,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/convolutional/sse/decode.c:1:
/usr/lib/gcc/x86_64-linux-gnu/10/include/smmintrin.h:288:1: error: inlining failed in call to ‘always_inline’ ‘_mm_min_epu16’: target specific option mismatch
288 | _mm_min_epu16 (__m128i __X, __m128i __Y)
| ^~~~~~~~~~~~~
/home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/convolutional/sse/decode.c:186:38: note: called from here
186 | __m128i min_error2 = _mm_min_epu16(low_error2, high_error2);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/immintrin.h:37,
from /usr/lib/gcc/x86_64-linux-gnu/10/include/x86intrin.h:32,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/correct/convolutional/sse/lookup.h:5,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/correct/convolutional/sse/convolutional.h:2,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/convolutional/sse/decode.c:1:
/usr/lib/gcc/x86_64-linux-gnu/10/include/smmintrin.h:288:1: error: inlining failed in call to ‘always_inline’ ‘_mm_min_epu16’: target specific option mismatch
288 | _mm_min_epu16 (__m128i __X, __m128i __Y)
| ^~~~~~~~~~~~~
/home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/convolutional/sse/decode.c:185:38: note: called from here
185 | __m128i min_error1 = _mm_min_epu16(low_error1, high_error1);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/immintrin.h:37,
from /usr/lib/gcc/x86_64-linux-gnu/10/include/x86intrin.h:32,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/correct/convolutional/sse/lookup.h:5,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/correct/convolutional/sse/convolutional.h:2,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/convolutional/sse/decode.c:1:
/usr/lib/gcc/x86_64-linux-gnu/10/include/smmintrin.h:288:1: error: inlining failed in call to ‘always_inline’ ‘_mm_min_epu16’: target specific option mismatch
288 | _mm_min_epu16 (__m128i __X, __m128i __Y)
| ^~~~~~~~~~~~~
/home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/convolutional/sse/decode.c:184:38: note: called from here
184 | __m128i min_error0 = _mm_min_epu16(low_error0, high_error0);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/immintrin.h:37,
from /usr/lib/gcc/x86_64-linux-gnu/10/include/x86intrin.h:32,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/correct/convolutional/sse/lookup.h:5,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/correct/convolutional/sse/convolutional.h:2,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/convolutional/sse/decode.c:1:
/usr/lib/gcc/x86_64-linux-gnu/10/include/smmintrin.h:288:1: error: inlining failed in call to ‘always_inline’ ‘_mm_min_epu16’: target specific option mismatch
288 | _mm_min_epu16 (__m128i __X, __m128i __Y)
| ^~~~~~~~~~~~~
/home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/convolutional/sse/decode.c:183:37: note: called from here
183 | __m128i min_error = _mm_min_epu16(low_error, high_error);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/immintrin.h:35,
from /usr/lib/gcc/x86_64-linux-gnu/10/include/x86intrin.h:32,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/correct/convolutional/sse/lookup.h:5,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/correct/convolutional/sse/convolutional.h:2,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/convolutional/sse/decode.c:1:
/usr/lib/gcc/x86_64-linux-gnu/10/include/tmmintrin.h:136:1: error: inlining failed in call to ‘always_inline’ ‘_mm_shuffle_epi8’: target specific option mismatch
136 | _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
| ^~~~~~~~~~~~~~~~
/home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/convolutional/sse/decode.c:126:36: note: called from here
126 | high_past_error2 = _mm_shuffle_epi8(high_past_error2, past_shuffle_mask);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/immintrin.h:35,
from /usr/lib/gcc/x86_64-linux-gnu/10/include/x86intrin.h:32,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/correct/convolutional/sse/lookup.h:5,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/correct/convolutional/sse/convolutional.h:2,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/convolutional/sse/decode.c:1:
/usr/lib/gcc/x86_64-linux-gnu/10/include/tmmintrin.h:136:1: error: inlining failed in call to ‘always_inline’ ‘_mm_shuffle_epi8’: target specific option mismatch
136 | _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
| ^~~~~~~~~~~~~~~~
/home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/convolutional/sse/decode.c:125:36: note: called from here
125 | high_past_error1 = _mm_shuffle_epi8(high_past_error1, past_shuffle_mask);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/immintrin.h:35,
from /usr/lib/gcc/x86_64-linux-gnu/10/include/x86intrin.h:32,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/correct/convolutional/sse/lookup.h:5,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/correct/convolutional/sse/convolutional.h:2,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/convolutional/sse/decode.c:1:
/usr/lib/gcc/x86_64-linux-gnu/10/include/tmmintrin.h:136:1: error: inlining failed in call to ‘always_inline’ ‘_mm_shuffle_epi8’: target specific option mismatch
136 | _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
| ^~~~~~~~~~~~~~~~
/home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/convolutional/sse/decode.c:124:36: note: called from here
124 | high_past_error0 = _mm_shuffle_epi8(high_past_error0, past_shuffle_mask);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/immintrin.h:35,
from /usr/lib/gcc/x86_64-linux-gnu/10/include/x86intrin.h:32,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/correct/convolutional/sse/lookup.h:5,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/correct/convolutional/sse/convolutional.h:2,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/convolutional/sse/decode.c:1:
/usr/lib/gcc/x86_64-linux-gnu/10/include/tmmintrin.h:136:1: error: inlining failed in call to ‘always_inline’ ‘_mm_shuffle_epi8’: target specific option mismatch
136 | _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
| ^~~~~~~~~~~~~~~~
/home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/convolutional/sse/decode.c:123:35: note: called from here
123 | high_past_error = _mm_shuffle_epi8(high_past_error, past_shuffle_mask);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/immintrin.h:35,
from /usr/lib/gcc/x86_64-linux-gnu/10/include/x86intrin.h:32,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/correct/convolutional/sse/lookup.h:5,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/correct/convolutional/sse/convolutional.h:2,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/convolutional/sse/decode.c:1:
/usr/lib/gcc/x86_64-linux-gnu/10/include/tmmintrin.h:136:1: error: inlining failed in call to ‘always_inline’ ‘_mm_shuffle_epi8’: target specific option mismatch
136 | _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
| ^~~~~~~~~~~~~~~~
/home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/convolutional/sse/decode.c:110:35: note: called from here
110 | low_past_error2 = _mm_shuffle_epi8(low_past_error2, past_shuffle_mask);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/immintrin.h:35,
from /usr/lib/gcc/x86_64-linux-gnu/10/include/x86intrin.h:32,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/correct/convolutional/sse/lookup.h:5,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/correct/convolutional/sse/convolutional.h:2,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/convolutional/sse/decode.c:1:
/usr/lib/gcc/x86_64-linux-gnu/10/include/tmmintrin.h:136:1: error: inlining failed in call to ‘always_inline’ ‘_mm_shuffle_epi8’: target specific option mismatch
136 | _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
| ^~~~~~~~~~~~~~~~
/home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/convolutional/sse/decode.c:109:35: note: called from here
109 | low_past_error1 = _mm_shuffle_epi8(low_past_error1, past_shuffle_mask);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/immintrin.h:35,
from /usr/lib/gcc/x86_64-linux-gnu/10/include/x86intrin.h:32,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/correct/convolutional/sse/lookup.h:5,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/correct/convolutional/sse/convolutional.h:2,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/convolutional/sse/decode.c:1:
/usr/lib/gcc/x86_64-linux-gnu/10/include/tmmintrin.h:136:1: error: inlining failed in call to ‘always_inline’ ‘_mm_shuffle_epi8’: target specific option mismatch
136 | _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
| ^~~~~~~~~~~~~~~~
/home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/convolutional/sse/decode.c:108:35: note: called from here
108 | low_past_error0 = _mm_shuffle_epi8(low_past_error0, past_shuffle_mask);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/immintrin.h:35,
from /usr/lib/gcc/x86_64-linux-gnu/10/include/x86intrin.h:32,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/correct/convolutional/sse/lookup.h:5,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/correct/convolutional/sse/convolutional.h:2,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/convolutional/sse/decode.c:1:
/usr/lib/gcc/x86_64-linux-gnu/10/include/tmmintrin.h:136:1: error: inlining failed in call to ‘always_inline’ ‘_mm_shuffle_epi8’: target specific option mismatch
136 | _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
| ^~~~~~~~~~~~~~~~
/home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/convolutional/sse/decode.c:107:34: note: called from here
107 | low_past_error = _mm_shuffle_epi8(low_past_error, past_shuffle_mask);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/immintrin.h:35,
from /usr/lib/gcc/x86_64-linux-gnu/10/include/x86intrin.h:32,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/correct/convolutional/sse/lookup.h:5,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/correct/convolutional/sse/convolutional.h:2,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/convolutional/sse/decode.c:1:
/usr/lib/gcc/x86_64-linux-gnu/10/include/tmmintrin.h:136:1: error: inlining failed in call to ‘always_inline’ ‘_mm_shuffle_epi8’: target specific option mismatch
136 | _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
| ^~~~~~~~~~~~~~~~
/home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/convolutional/sse/decode.c:110:35: note: called from here
110 | low_past_error2 = _mm_shuffle_epi8(low_past_error2, past_shuffle_mask);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/immintrin.h:35,
from /usr/lib/gcc/x86_64-linux-gnu/10/include/x86intrin.h:32,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/correct/convolutional/sse/lookup.h:5,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/correct/convolutional/sse/convolutional.h:2,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/convolutional/sse/decode.c:1:
/usr/lib/gcc/x86_64-linux-gnu/10/include/tmmintrin.h:136:1: error: inlining failed in call to ‘always_inline’ ‘_mm_shuffle_epi8’: target specific option mismatch
136 | _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
| ^~~~~~~~~~~~~~~~
/home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/convolutional/sse/decode.c:109:35: note: called from here
109 | low_past_error1 = _mm_shuffle_epi8(low_past_error1, past_shuffle_mask);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/immintrin.h:35,
from /usr/lib/gcc/x86_64-linux-gnu/10/include/x86intrin.h:32,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/correct/convolutional/sse/lookup.h:5,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/correct/convolutional/sse/convolutional.h:2,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/convolutional/sse/decode.c:1:
/usr/lib/gcc/x86_64-linux-gnu/10/include/tmmintrin.h:136:1: error: inlining failed in call to ‘always_inline’ ‘_mm_shuffle_epi8’: target specific option mismatch
136 | _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
| ^~~~~~~~~~~~~~~~
/home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/convolutional/sse/decode.c:108:35: note: called from here
108 | low_past_error0 = _mm_shuffle_epi8(low_past_error0, past_shuffle_mask);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/immintrin.h:35,
from /usr/lib/gcc/x86_64-linux-gnu/10/include/x86intrin.h:32,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/correct/convolutional/sse/lookup.h:5,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/correct/convolutional/sse/convolutional.h:2,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/convolutional/sse/decode.c:1:
/usr/lib/gcc/x86_64-linux-gnu/10/include/tmmintrin.h:136:1: error: inlining failed in call to ‘always_inline’ ‘_mm_shuffle_epi8’: target specific option mismatch
136 | _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
| ^~~~~~~~~~~~~~~~
/home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/convolutional/sse/decode.c:107:34: note: called from here
107 | low_past_error = _mm_shuffle_epi8(low_past_error, past_shuffle_mask);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/immintrin.h:35,
from /usr/lib/gcc/x86_64-linux-gnu/10/include/x86intrin.h:32,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/correct/convolutional/sse/lookup.h:5,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/correct/convolutional/sse/convolutional.h:2,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/convolutional/sse/decode.c:1:
/usr/lib/gcc/x86_64-linux-gnu/10/include/tmmintrin.h:136:1: error: inlining failed in call to ‘always_inline’ ‘_mm_shuffle_epi8’: target specific option mismatch
136 | _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
| ^~~~~~~~~~~~~~~~
/home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/convolutional/sse/decode.c:126:36: note: called from here
126 | high_past_error2 = _mm_shuffle_epi8(high_past_error2, past_shuffle_mask);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/immintrin.h:35,
from /usr/lib/gcc/x86_64-linux-gnu/10/include/x86intrin.h:32,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/correct/convolutional/sse/lookup.h:5,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/correct/convolutional/sse/convolutional.h:2,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/convolutional/sse/decode.c:1:
/usr/lib/gcc/x86_64-linux-gnu/10/include/tmmintrin.h:136:1: error: inlining failed in call to ‘always_inline’ ‘_mm_shuffle_epi8’: target specific option mismatch
136 | _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
| ^~~~~~~~~~~~~~~~
/home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/convolutional/sse/decode.c:125:36: note: called from here
125 | high_past_error1 = _mm_shuffle_epi8(high_past_error1, past_shuffle_mask);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/immintrin.h:35,
from /usr/lib/gcc/x86_64-linux-gnu/10/include/x86intrin.h:32,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/correct/convolutional/sse/lookup.h:5,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/correct/convolutional/sse/convolutional.h:2,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/convolutional/sse/decode.c:1:
/usr/lib/gcc/x86_64-linux-gnu/10/include/tmmintrin.h:136:1: error: inlining failed in call to ‘always_inline’ ‘_mm_shuffle_epi8’: target specific option mismatch
136 | _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
| ^~~~~~~~~~~~~~~~
/home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/convolutional/sse/decode.c:124:36: note: called from here
124 | high_past_error0 = _mm_shuffle_epi8(high_past_error0, past_shuffle_mask);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/immintrin.h:35,
from /usr/lib/gcc/x86_64-linux-gnu/10/include/x86intrin.h:32,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/correct/convolutional/sse/lookup.h:5,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/correct/convolutional/sse/convolutional.h:2,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/convolutional/sse/decode.c:1:
/usr/lib/gcc/x86_64-linux-gnu/10/include/tmmintrin.h:136:1: error: inlining failed in call to ‘always_inline’ ‘_mm_shuffle_epi8’: target specific option mismatch
136 | _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
| ^~~~~~~~~~~~~~~~
/home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/convolutional/sse/decode.c:123:35: note: called from here
123 | high_past_error = _mm_shuffle_epi8(high_past_error, past_shuffle_mask);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/immintrin.h:37,
from /usr/lib/gcc/x86_64-linux-gnu/10/include/x86intrin.h:32,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/correct/convolutional/sse/lookup.h:5,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/correct/convolutional/sse/convolutional.h:2,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/convolutional/sse/decode.c:1:
/usr/lib/gcc/x86_64-linux-gnu/10/include/smmintrin.h:288:1: error: inlining failed in call to ‘always_inline’ ‘_mm_min_epu16’: target specific option mismatch
288 | _mm_min_epu16 (__m128i __X, __m128i __Y)
| ^~~~~~~~~~~~~
/home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/convolutional/sse/decode.c:186:38: note: called from here
186 | __m128i min_error2 = _mm_min_epu16(low_error2, high_error2);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/immintrin.h:37,
from /usr/lib/gcc/x86_64-linux-gnu/10/include/x86intrin.h:32,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/correct/convolutional/sse/lookup.h:5,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/correct/convolutional/sse/convolutional.h:2,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/convolutional/sse/decode.c:1:
/usr/lib/gcc/x86_64-linux-gnu/10/include/smmintrin.h:288:1: error: inlining failed in call to ‘always_inline’ ‘_mm_min_epu16’: target specific option mismatch
288 | _mm_min_epu16 (__m128i __X, __m128i __Y)
| ^~~~~~~~~~~~~
/home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/convolutional/sse/decode.c:185:38: note: called from here
185 | __m128i min_error1 = _mm_min_epu16(low_error1, high_error1);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/immintrin.h:37,
from /usr/lib/gcc/x86_64-linux-gnu/10/include/x86intrin.h:32,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/correct/convolutional/sse/lookup.h:5,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/correct/convolutional/sse/convolutional.h:2,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/convolutional/sse/decode.c:1:
/usr/lib/gcc/x86_64-linux-gnu/10/include/smmintrin.h:288:1: error: inlining failed in call to ‘always_inline’ ‘_mm_min_epu16’: target specific option mismatch
288 | _mm_min_epu16 (__m128i __X, __m128i __Y)
| ^~~~~~~~~~~~~
/home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/convolutional/sse/decode.c:184:38: note: called from here
184 | __m128i min_error0 = _mm_min_epu16(low_error0, high_error0);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/immintrin.h:37,
from /usr/lib/gcc/x86_64-linux-gnu/10/include/x86intrin.h:32,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/correct/convolutional/sse/lookup.h:5,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/correct/convolutional/sse/convolutional.h:2,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/convolutional/sse/decode.c:1:
/usr/lib/gcc/x86_64-linux-gnu/10/include/smmintrin.h:288:1: error: inlining failed in call to ‘always_inline’ ‘_mm_min_epu16’: target specific option mismatch
288 | _mm_min_epu16 (__m128i __X, __m128i __Y)
| ^~~~~~~~~~~~~
/home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/convolutional/sse/decode.c:183:37: note: called from here
183 | __m128i min_error = _mm_min_epu16(low_error, high_error);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/immintrin.h:35,
from /usr/lib/gcc/x86_64-linux-gnu/10/include/x86intrin.h:32,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/correct/convolutional/sse/lookup.h:5,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/correct/convolutional/sse/convolutional.h:2,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/convolutional/sse/decode.c:1:
/usr/lib/gcc/x86_64-linux-gnu/10/include/tmmintrin.h:136:1: error: inlining failed in call to ‘always_inline’ ‘_mm_shuffle_epi8’: target specific option mismatch
136 | _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
| ^~~~~~~~~~~~~~~~
/home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/convolutional/sse/decode.c:202:24: note: called from here
202 | hist = _mm_shuffle_epi8(hist, hist_mask);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/immintrin.h:35,
from /usr/lib/gcc/x86_64-linux-gnu/10/include/x86intrin.h:32,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/correct/convolutional/sse/lookup.h:5,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/correct/convolutional/sse/convolutional.h:2,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/convolutional/sse/decode.c:1:
/usr/lib/gcc/x86_64-linux-gnu/10/include/tmmintrin.h:136:1: error: inlining failed in call to ‘always_inline’ ‘_mm_shuffle_epi8’: target specific option mismatch
136 | _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
| ^~~~~~~~~~~~~~~~
/home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/convolutional/sse/decode.c:205:25: note: called from here
205 | hist0 = _mm_shuffle_epi8(hist0, hist_mask);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/immintrin.h:35,
from /usr/lib/gcc/x86_64-linux-gnu/10/include/x86intrin.h:32,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/correct/convolutional/sse/lookup.h:5,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/correct/convolutional/sse/convolutional.h:2,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/convolutional/sse/decode.c:1:
/usr/lib/gcc/x86_64-linux-gnu/10/include/tmmintrin.h:136:1: error: inlining failed in call to ‘always_inline’ ‘_mm_shuffle_epi8’: target specific option mismatch
136 | _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
| ^~~~~~~~~~~~~~~~
/home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/convolutional/sse/decode.c:208:25: note: called from here
208 | hist1 = _mm_shuffle_epi8(hist1, hist_mask);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/lib/gcc/x86_64-linux-gnu/10/include/immintrin.h:35,
from /usr/lib/gcc/x86_64-linux-gnu/10/include/x86intrin.h:32,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/correct/convolutional/sse/lookup.h:5,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/correct/convolutional/sse/convolutional.h:2,
from /home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/convolutional/sse/decode.c:1:
/usr/lib/gcc/x86_64-linux-gnu/10/include/tmmintrin.h:136:1: error: inlining failed in call to ‘always_inline’ ‘_mm_shuffle_epi8’: target specific option mismatch
136 | _mm_shuffle_epi8 (__m128i __X, __m128i __Y)
| ^~~~~~~~~~~~~~~~
/home/webs/SDRPlusPlus/falcon9_decoder/src/libcorrect/convolutional/sse/decode.c:211:25: note: called from here
211 | hist2 = _mm_shuffle_epi8(hist2, hist_mask);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make[2]: *** [falcon9_decoder/CMakeFiles/falcon9_decoder.dir/build.make:199 : falcon9_decoder/CMakeFiles/falcon9_decoder.dir/src/libcorrect/convolutional/sse/decode.c.o] Erreur 1
make[1]: *** [CMakeFiles/Makefile2:539 : falcon9_decoder/CMakeFiles/falcon9_decoder.dir/all] Erreur 2
make[1]: *** Attente des tâches non terminées....
[ 66%] Linking CXX shared library soapy_source.so
[ 66%] Built target soapy_source
make: *** [Makefile:149 : all] Erreur 2

Building on Mac

I'm trying to build SDR++ on a mac using the "Building on Linux / BSD" section.

I think I installed all the required dependencies correctly, except for libairspyhf, libiio, libad9361 and librtaudio-dev. I did install SoapySDR, which I think should be enough, but I do still get this error:

-- Checking for module 'libairspyhf'
--   No package 'libairspyhf' found
CMake Error at /usr/local/Cellar/cmake/3.19.5/share/cmake/Modules/FindPkgConfig.cmake:553 (message):
  A required package was not found
Call Stack (most recent call first):
  /usr/local/Cellar/cmake/3.19.5/share/cmake/Modules/FindPkgConfig.cmake:741 (_pkg_check_modules_internal)
  airspyhf_source/CMakeLists.txt:26 (pkg_check_modules)


-- Configuring incomplete, errors occurred!

Do I absolutely need to install libairspyhf and others, even if I don't want to support Airspy HF+?

RTLSDR/AIRSPY win10

Hi, SDR++ not find RTL-SDR nor AIRSPY window error not find module only the Pluto
Installed pothos cubicSDR is running
--- SOLVED ---

wish: auto-squelch

it would be nice it you could set a threshold above the noise floor to squelch-break(record audio ) to help unattended recording.

Wish: audio recording/split files.

if/when you add audio recording could you add the ability for it to auto make a new time & datestamped file every hour? same as rtl_airband does.
also an option for making a new file every time the squelch breaks, not something i use personally but something ppl tend to ask for.

thanks.

SDR++ does not start / crashes (Debian)

Hi everyone,

I just pulled a fresh copy of the new master branch and tried to compile and run it on debian.
The code was compiled, but after starting it crashes with the following message.

Any ideas what might go wrong?

I changed the paths of the libraries as I did in the old new-dsp branch, but no success.

Sascha

sascha@think:~/SDRPlusPlus/build$ ./sdrpp
[2020-12-24 18:12:28.448] [info] SDR++ v0.2.5_beta
[2020-12-24 18:12:28.448] [info] Loading config
sdrpp: /home/sascha/SDRPlusPlus/core/src/imgui/stb_image_resize.h:2394: int stbir__resize_allocated(stbir__info*, const void*, int, void*, int, int, stbir_uint32, stbir_datatype, stbir_edge, stbir_edge, stbir_colorspace, void*, size_t): Assertion `(size_t)(unsigned char*)(((unsigned char*)info->ring_buffer) + info->ring_buffer_size) == (size_t)tempmem + tempmem_size_in_bytes' failed.

some issues

Hello,
I don't have your mail. I use this page.
I'm working on some issues (from the last release because this version work on windows) like :

  • wav audio files sound level,
  • adding audio balance slider,

I do a first test with IQ file player.
I think memorize menu and windows state for the next startup.
It's possible to contribuate a little bit on your nice project.

have a good day

Some features request

It will be good if these hw settings will be in SDR++:

  • RTL-SDR automatic gain(available via SoapySDR)
  • HackRF or other sdr's hw bandwidth(available via SoapySDR)

Also some software features:

  • Variable FFT size
  • Decimation(like in gqrx)
  • Audio FFT and waterfall
  • Stepped gain regulation
  • Changing filter width by dragging it's edges on waterfall
  • Zoom slider default position is max zoom, when zoom is minimal, i think better to set it to min on start
  • Maybe add more accurate filter managing like in SDR#, where you can drag both sides of the filter
  • Signal information like SNR when moving cursor on it

Maybe some time shifting plugin like Timeshift in SDR# included into main program.

Currently found glitches by me:

  • Long starting time (> 5s)(maybe because of audio devices detection)
  • When closing by default close button(cross), it prints exception in terminal like there is some errors
  • Some underruns occurs

TODO before 0.2.5_beta

  • Load last source configuration
  • Add a loading screen
  • Finish the recorder module
  • Fix squelch
  • CW and RAW modes;
  • Bring VFOs to a visible place when changing sample rate if it's smaller
  • Add save config for all modules
  • FIx slow resamplers
  • FIX ALSA ISSUES ON LINUX!!!!

linux: sdrplay failure.

Have an airspy R2 which works ok but not with an sdrplay rsp2.
using Arch Linux.

[lee@Plasma sdrpp]$ ./sdrpp 
[2020-08-10 20:26:35.886] [info] SDR++ v0.2.5_alpha
ALSA lib pcm_dmix.c:1090:(snd_pcm_dmix_open) unable to open slave
ALSA lib pcm.c:2660:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2660:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2660:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm_route.c:877:(find_matching_chmap) Found no matching channel map
connect(2) call to /dev/shm/jack-1000/default/jack_0 failed (err=No such file or directory)
attempt to connect to server failed
connect(2) call to /dev/shm/jack-1000/default/jack_0 failed (err=No such file or directory)
attempt to connect to server failed
ALSA lib pcm_oss.c:377:(_snd_pcm_oss_open) Unknown field port
ALSA lib pcm_oss.c:377:(_snd_pcm_oss_open) Unknown field port
ALSA lib pcm_usb_stream.c:486:(_snd_pcm_usb_stream_open) Invalid type for card
ALSA lib pcm_usb_stream.c:486:(_snd_pcm_usb_stream_open) Invalid type for card
ALSA lib pcm_dmix.c:1090:(snd_pcm_dmix_open) unable to open slave
connect(2) call to /dev/shm/jack-1000/default/jack_0 failed (err=No such file or directory)
attempt to connect to server failed
[2020-08-10 20:26:36.092] [info] Audio device open.
[2020-08-10 20:26:36.092] [info] Loading icons
[2020-08-10 20:26:36.107] [info] Loading band plans
[2020-08-10 20:26:36.108] [info] Loading band plans color table
[2020-08-10 20:26:36.108] [info] Loading test module
[2020-08-10 20:26:36.108] [info] Ready.
[2020-08-10 20:26:36.125] [info] Changed input device: 0
[2020-08-10 20:26:36.125] [info] Changed sample rate: 0
=================================================================
==3375754==ERROR: AddressSanitizer: invalid alignment requested in aligned_alloc: 32, alignment must be a power of two and the requested size 0x2710 must be a multiple of alignment (thread T58)
    #0 0x7f41d72bbfc9 in __interceptor_aligned_alloc /build/gcc/src/gcc/libsanitizer/asan/asan_malloc_linux.cpp:192
    #1 0x7f41d6604650 in volk_malloc (/usr/lib/libvolk.so.2.3+0x5c650)

==3375754==HINT: if you don't care about these errors you may set allocator_may_return_null=1
SUMMARY: AddressSanitizer: invalid-aligned-alloc-alignment /build/gcc/src/gcc/libsanitizer/asan/asan_malloc_linux.cpp:192 in __interceptor_aligned_alloc
Thread T58 created by T0 here:
    #0 0x7f41d72611c7 in __interceptor_pthread_create /build/gcc/src/gcc/libsanitizer/asan/asan_interceptors.cpp:214
    #1 0x7f41d6426e49 in __gthread_create /build/gcc/src/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/gthr-default.h:663
    #2 0x7f41d6426e49 in std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) /build/gcc/src/gcc/libstdc++-v3/src/c++11/thread.cc:135

==3375754==ABORTING
[lee@Plasma sdrpp]$ 

Windows releases do not contain all necessary DLL's etc

When trying to run the Windows release, it initially fails because volk.dll is missing,

Looking in your Building for Windows, I noticed
"PothosSDR (for libvolk and SoapySDR)"

Hence these files are not just required for building, they are required to run the application and IMHO should be included as part of the release, even if you didn't write them (as they are open source and you can credit the original source)

BTW. Even after installing those files, the application does not detect my RTL SDR, which works fine under SDR#

Debian 10.7 (buster 2020-12-05) works, but hit a few issues along the way

This is not really an issue, other than the missing bit from CMakeLists.txt
But maybe some of it can be recycled by you when adding instructions for Linux:

$ uname -a
Linux SDR003 4.19.0-13-amd64 #1 SMP Debian 4.19.160-2 (2020-11-28) x86_64 GNU/Linux
$ cat /etc/debian_version 
10.7

$ mkdir src 
$ cd src
$ sudo apt install git
$ git clone https://github.com/AlexandreRouma/SDRPlusPlus
$ cd SDRPlusPlus/
$ sudo apt install build-essential
$ sudo apt install cmake
$ sudo apt install libglew-devel
$ sudo apt install libglfw3-dev
$ sudo apt install libvolk1-dev
$ sudo apt install libfftw3-dev
$ sudo apt install portaudio19-dev
$ sudo apt install libsoapysdr-dev
$ mkdir build
$ cd build
# modified ../CMakeLists.txt, added this line: 
target_link_libraries(sdrpp PRIVATE stdc++fs)
# to allow sdrpp to link, failed without "stdc++fs"
$ cmake ..
$ make -j 6
...
[ 93%] Building CXX object CMakeFiles/sdrpp.dir/src/imgui/imgui_widgets.cpp.o
[100%] Linking CXX executable sdrpp
[100%] Built target sdrpp
$ ./sdrpp 
[INFO] [UHD] linux; GNU C++ version 8.2.0; Boost_106700; UHD_3.13.1.0-3
[2020-12-13 20:36:28.327] [info] SDR++ v0.2.5_alpha
[2020-12-13 20:36:28.494] [error] Glfw Error 65543: GLX: Failed to create context: GLXBadFBConfig

$ sudo apt-get install mesa-utils
$ glxinfo | grep 'version'
server glx version string: 1.4
client glx version string: 1.4
GLX version: 1.4
    Max core profile version: 0.0
    Max compat profile version: 2.1
    Max GLES1 profile version: 1.1
    Max GLES[23] profile version: 2.0
OpenGL version string: 2.1 Mesa 18.3.6
OpenGL shading language version string: 1.20
OpenGL ES profile version string: OpenGL ES 2.0 Mesa 18.3.6
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 1.0.16

$ grep -i glfwWindowHint ../src/*.cpp
../src/main.cpp:    glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
../src/main.cpp:    glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 2);
../src/main.cpp:    glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);  // 3.2+ only
../src/main.cpp:    glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE);            // Required on Mac
$

# SDR++ is expecting OpenGL 3.2 at a minimum and the virtual graphics card on my virtualbox 
# supports OpenGL 2.1 maximum with emulated hardware 
# I try all new software in a VM before I install it on physical hardware.
# A slower but very useful workaround is:
$ LIBGL_ALWAYS_SOFTWARE=1 glxinfo | grep 'version'
server glx version string: 1.4
client glx version string: 1.4
GLX version: 1.4
    Max core profile version: 3.3
    Max compat profile version: 3.1
    Max GLES1 profile version: 1.1
    Max GLES[23] profile version: 3.0
OpenGL core profile version string: 3.3 (Core Profile) Mesa 18.3.6
OpenGL core profile shading language version string: 3.30
OpenGL version string: 3.1 Mesa 18.3.6
OpenGL shading language version string: 1.40
OpenGL ES profile version string: OpenGL ES 3.0 Mesa 18.3.6
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00
$  LIBGL_ALWAYS_SOFTWARE=1 ./sdrpp
[INFO] [UHD] linux; GNU C++ version 8.2.0; Boost_106700; UHD_3.13.1.0-3
[2020-12-13 21:06:53.488] [info] SDR++ v0.2.5_alpha
sdrpp: /home/mzs/src/SDRPlusPlus/src/imgui/imgui_draw.cpp:1823: ImFont* ImFontAtlas::AddFontFromFileTTF(const char*, float, const ImFontConfig*, const ImWchar*): Assertion `(0) && "Could not load font file!"' failed.
Aborted


$ grep -i '.ttf' ../src/*.cpp ../src/*.h
../src/frequency_select.cpp:    font = ImGui::GetIO().Fonts->AddFontFromFileTTF("res/fonts/Roboto-Medium.ttf", 42.0f);
../src/styles.h:    io.Fonts->AddFontFromFileTTF("res/fonts/Roboto-Medium.ttf", 16.0f);
$ cd ..
$ LIBGL_ALWAYS_SOFTWARE=1 ./build/sdrpp
[INFO] [UHD] linux; GNU C++ version 8.2.0; Boost_106700; UHD_3.13.1.0-3
[2020-12-13 21:12:14.216] [info] SDR++ v0.2.5_alpha
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround71
ALSA lib setup.c:547:(add_elem) Cannot obtain info for CTL elem (MIXER,'IEC958 Playback Default',0,0,0): No such file or directory
ALSA lib setup.c:547:(add_elem) Cannot obtain info for CTL elem (MIXER,'IEC958 Playback Default',0,0,0): No such file or directory
ALSA lib setup.c:547:(add_elem) Cannot obtain info for CTL elem (MIXER,'IEC958 Playback Default',0,0,0): No such file or directory
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline
ALSA lib pcm_oss.c:377:(_snd_pcm_oss_open) Unknown field port
ALSA lib pcm_oss.c:377:(_snd_pcm_oss_open) Unknown field port
ALSA lib pcm_a52.c:823:(_snd_pcm_a52_open) a52 is only for playback
ALSA lib setup.c:547:(add_elem) Cannot obtain info for CTL elem (MIXER,'IEC958 Playback Default',0,0,0): No such file or directory
ALSA lib pcm_usb_stream.c:486:(_snd_pcm_usb_stream_open) Invalid type for card
ALSA lib pcm_usb_stream.c:486:(_snd_pcm_usb_stream_open) Invalid type for card
[2020-12-13 21:12:15.040] [info] Audio device open.
[2020-12-13 21:12:15.040] [info] Loading icons
[2020-12-13 21:12:15.100] [info] Loading band plans
[2020-12-13 21:12:15.138] [info] Loading band plans color table
[2020-12-13 21:12:15.146] [info] Loading test module
[2020-12-13 21:12:15.146] [info] Ready.
[2020-12-13 21:12:15.281] [info] Changed input device: 0

It works!

libvolk.so.1.4 not found

sdr@sdr:~/sdr$ sdrpp sdrpp: error while loading shared libraries: libvolk.so.1.4: cannot open shared object file: No such file or directory
OS : Ubuntu 20.04.2 LTS

Hello, I used the dpkg method with the .deb of the version "SDR ++ v0.2.5_beta PREVIEW # 3".
sdrpp cannot find libvolk although it was installed from the canonical repository, then from source "libvolk.so.1.4" directly. Nothing helps, it still doesn't work.

Is this a known issue? Thanks

Feature request: Decimation

Hi,

this is not very important, but it would be nice to be able to set a decimation to get a bit more dynamic range in exchange for sample rate. Some SDRs with really high sample rates (like the HackRF (and even the RTL-SDRs)) can really benefit from that.

Recording path settings is not saved

On my build, the recording path is set to %ROOT%/recordings by default. I am able to enter a different path and SDR++ records into that path just fine, but after closing and re-opening SDR++, the default path is back. It would be great if the user's path entered is saved across restarts of the program.

need help for compile on macos

Hello, I try to compile this program on macos. compiling is ok, but when linking error occus. Here I upload the error log, how can I fix this error? thx

platform: macos 10.15.7

log.txt

Audio drop outs with SDRPlay RSP Duo

With SDRplay RSP Duo, I get audio drop outs whatever sample rate and modulation I chose.

On the terminal, I can see line below many times:

ALSA lib pcm.c:8526:(snd_pcm_recover) underrun occurred

No similar issue with RTL-SDR on the same computer

Something I see is after using RTL-SDR, less audio drop outs with RSP but still some.

Open font error

Hi, I have build this program success. but when I try to run it, it just crash and throw some error message:

lynx@darkstar ~/G/S/build (master)> ./sdrpp
[INFO] [UHD] linux; GNU C++ version 9.2.1 20200304; Boost_107100; UHD_3.15.0.0-2build5
Detached kernel driver
Found Rafael Micro R820T tuner
Reattached kernel driver
[2020-08-15 22:36:49.127] [info] SDR++ v0.2.5_alpha
sdrpp: /home/lynx/Git/SDRPlusPlus/src/imgui/imgui_draw.cpp:1823: ImFont* ImFontAtlas::AddFontFromFileTTF(const char*, float, const ImFontConfig*, const ImWchar*): Assertion `(0) && "Could not load font file!"' failed.
fish: “./sdrpp” terminated by signal SIGABRT (Abort)

I want to know which font should I install. I am running Ubuntu 20.04. thx

Unable to run on window 10

[2021-01-01 19:05:54.386] [info] SDR++ v0.2.5_beta
[2021-01-01 19:05:54.388] [info] Loading config
[2021-01-01 19:05:54.540] [error] Glfw Error 65542: WGL: The driver does not appear to support OpenGL

Segfault at runtime

Arch Linux
gcc 10.2.0
rtl-sdr 1:0.8.0-1
soapysdr 0.7.2-3
soapyrtlsdr 0.3.0-2

Disabled all the backends except RTL-TCP and soapy in the cmake config. I don't have a dongle on me at the moment, so I'm not sure if missing that is causing the crash. Just wanted to check out the GUI.

[parker@stealth build]$ ./sdrpp 
[2021-02-12 16:42:38.152] [info] SDR++ v0.2.5_beta
[2021-02-12 16:42:38.152] [info] Loading config
Segmentation fault (core dumped)
#0  0x00007f88584fa59f in stbir__decode_scanline (stbir_info=stbir_info@entry=0x7fff96fc9380, n=n@entry=-3072) at /home/parker/Downloads/FEX/build/SDRPlusPlus/core/src/imgui/stb_image_resize.h:1281
        decode_pixel_index = -256
        input_pixel_index = <optimized out>
        channels = 4
        alpha_channel = <optimized out>
        type = <optimized out>
        colorspace = <optimized out>
        input_w = <optimized out>
        input_stride_bytes = <optimized out>
        decode_buffer = 0x7f883c1f5ff8
        edge_horizontal = STBIR_EDGE_CLAMP
        edge_vertical = <optimized out>
        in_buffer_row_offset = <optimized out>
        input_data = 0x0
        decode = <optimized out>
        max_x = 576
        x = -64
        c = 0
#1  0x00007f88584f220b in stbir__decode_and_resample_downsample (stbir_info=0x7fff96fc9380, n=-3072) at /home/parker/Downloads/FEX/build/SDRPlusPlus/core/src/imgui/stb_image_resize.h:1672
No locals.
#2  stbir__buffer_loop_downsample (stbir_info=0x7fff96fc9380) at /home/parker/Downloads/FEX/build/SDRPlusPlus/core/src/imgui/stb_image_resize.h:2187
        out_last_scanline = 0
        out_first_scanline = -3
        out_center_of_in = <optimized out>
        scale_ratio = 0.000488296151
        output_h = 16
        max_y = 36863
        pixel_margin = <optimized out>
        in_pixels_radius = 4095.875
        y = -3072
        out_last_scanline = <optimized out>
        out_first_scanline = <optimized out>
        out_center_of_in = <optimized out>
#3  stbir__resize_allocated (info=0x7fff96fc9380, input_data=<optimized out>, input_stride_in_bytes=<optimized out>, output_data=<optimized out>, output_stride_in_bytes=<optimized out>, alpha_channel=<optimized out>, 
    flags=<optimized out>, type=<optimized out>, edge_horizontal=<optimized out>, edge_vertical=<optimized out>, colorspace=<optimized out>, tempmem=0x7f883c102010, tempmem_size_in_bytes=1056967936)
    at /home/parker/Downloads/FEX/build/SDRPlusPlus/core/src/imgui/stb_image_resize.h:2410
        memory_required = <optimized out>
        width_stride_input = <optimized out>
        width_stride_output = <optimized out>
#4  stbir__resize_arbitrary (alloc_context=<optimized out>, input_data=<optimized out>, input_data@entry=0x0, input_w=<optimized out>, input_h=<optimized out>, input_stride_in_bytes=<optimized out>, output_data=<optimized out>, 
    output_data@entry=0x561369762540, output_w=output_w@entry=16, output_h=16, output_stride_in_bytes=64, s0=<optimized out>, t0=<optimized out>, s1=<optimized out>, t1=<optimized out>, transform=0x0, channels=4, alpha_channel=-1, 
    flags=0, type=STBIR_TYPE_UINT8, h_filter=STBIR_FILTER_DEFAULT, v_filter=STBIR_FILTER_DEFAULT, edge_horizontal=STBIR_EDGE_CLAMP, edge_vertical=STBIR_EDGE_CLAMP, colorspace=STBIR_COLORSPACE_LINEAR)
    at /home/parker/Downloads/FEX/build/SDRPlusPlus/core/src/imgui/stb_image_resize.h:2448
        info = {input_data = 0x0, input_w = 512, input_h = 32767, input_stride_bytes = 2048, output_data = 0x561369762540, output_w = 16, output_h = 16, output_stride_bytes = 64, s0 = 0, t0 = 0, s1 = 1, t1 = 1, horizontal_shift = 0, 
          vertical_shift = 0, horizontal_scale = 0.03125, vertical_scale = 0.000488296151, channels = 4, alpha_channel = -1, flags = 3, type = STBIR_TYPE_UINT8, horizontal_filter = STBIR_FILTER_MITCHELL, 
          vertical_filter = STBIR_FILTER_MITCHELL, edge_horizontal = STBIR_EDGE_CLAMP, edge_vertical = STBIR_EDGE_CLAMP, colorspace = STBIR_COLORSPACE_LINEAR, horizontal_contributors = 0x7f883c102010, 
          horizontal_coefficients = 0x7f883c103410, vertical_contributors = 0x7f883c105c10, vertical_coefficients = 0x7f883c155c08, decode_buffer_pixels = 640, decode_buffer = 0x7f883c1f5bf8, horizontal_buffer = 0x7f883c1f83f8, 
          horizontal_coefficient_width = 4, vertical_coefficient_width = 4, horizontal_filter_pixel_width = 128, vertical_filter_pixel_width = 8192, horizontal_filter_pixel_margin = 64, vertical_filter_pixel_margin = 4096, 
          horizontal_num_contributors = 640, vertical_num_contributors = 40959, ring_buffer_length_bytes = 256, ring_buffer_num_entries = 8193, ring_buffer_first_scanline = 11, ring_buffer_last_scanline = 0, ring_buffer_begin_index = -1, 
          ring_buffer = 0x7f883c1f84f8, encode_buffer = 0x0, horizontal_contributors_size = 5120, horizontal_coefficients_size = 10240, vertical_contributors_size = 327672, vertical_coefficients_size = 655344, decode_buffer_size = 10240, 
          horizontal_buffer_size = 256, ring_buffer_size = 2097408, encode_buffer_size = 0}
        memory_required = 1056967936
        extra_memory = <optimized out>
        result = <optimized out>
#5  0x00007f88584f6f6c in stbir_resize_uint8 (input_pixels=0x0, input_w=0, input_h=0, input_stride_in_bytes=-64, output_pixels=0x561369762540 "b\237@\b\026V", output_w=16, output_h=16, output_stride_in_bytes=64, num_channels=4)
    at /home/parker/Downloads/FEX/build/SDRPlusPlus/core/src/imgui/stb_image_resize.h:2463
No locals.
#6  sdrpp_main (argc=<optimized out>, argv=<optimized out>) at /home/parker/Downloads/FEX/build/SDRPlusPlus/core/src/core.cpp:228
        defConfig = {m_type = nlohmann::detail::value_t::null, m_value = {object = 0x0, array = 0x0, string = 0x0, binary = 0x0, boolean = false, number_integer = 0, number_unsigned = 0, number_float = 0}}
        resDir = ""
        bandColors = {m_type = nlohmann::detail::value_t::null, m_value = {object = 0x0, array = 0x0, string = 0x0, binary = 0x0, boolean = false, number_integer = 0, number_unsigned = 0, number_float = 0}}
        icons = {{width = -1761830528, height = 32767, pixels = 0x1 <error: Cannot access memory at address 0x1>}, {width = 48, height = 0, pixels = 0x0}, {width = -1761830496, height = 32767, pixels = 0x0}, {width = 1487974912, 
            height = 32648, pixels = 0x1 <error: Cannot access memory at address 0x1>}, {width = 1766324640, height = 22035, pixels = 0x26 <error: Cannot access memory at address 0x26>}, {width = 52, height = 0, pixels = 0x0}, {
            width = 512, height = 32767, pixels = 0x0}, {width = 16, height = 16, pixels = 0x561369762540 "b\237@\b\026V"}, {width = 24, height = 24, pixels = 0x56136975b810 "@\240NW\210\177"}, {width = 32, height = 32, 
            pixels = 0x561369806e10 "\200\240NW\210\177"}}
        glsl_version = <optimized out>
        winWidth = <optimized out>
        winHeight = <optimized out>
        monitor = <optimized out>
        window = 0x5613694bcae0
        io = <optimized out>
        _maximized = <optimized out>
        fsHeight = <optimized out>
        fsWidth = <optimized out>
        fsPosX = <optimized out>
        fsPosY = <optimized out>
#7  0x00007f885734fb25 in __libc_start_main () from /usr/lib/libc.so.6
No symbol table info available.
#8  0x0000561367a7b06e in _start ()
No symbol table info available.
cat: b: No such file or directory
[parker@stealth build]$ cat gdb.txt
#0  0x00007f88584fa59f in stbir__decode_scanline (stbir_info=stbir_info@entry=0x7fff96fc9380, n=n@entry=-3072) at /home/parker/Downloads/FEX/build/SDRPlusPlus/core/src/imgui/stb_image_resize.h:1281
        decode_pixel_index = -256
        input_pixel_index = <optimized out>
        channels = 4
        alpha_channel = <optimized out>
        type = <optimized out>
        colorspace = <optimized out>
        input_w = <optimized out>
        input_stride_bytes = <optimized out>
        decode_buffer = 0x7f883c1f5ff8
        edge_horizontal = STBIR_EDGE_CLAMP
        edge_vertical = <optimized out>
        in_buffer_row_offset = <optimized out>
        input_data = 0x0
        decode = <optimized out>
        max_x = 576
        x = -64
        c = 0
#1  0x00007f88584f220b in stbir__decode_and_resample_downsample (stbir_info=0x7fff96fc9380, n=-3072) at /home/parker/Downloads/FEX/build/SDRPlusPlus/core/src/imgui/stb_image_resize.h:1672
No locals.
#2  stbir__buffer_loop_downsample (stbir_info=0x7fff96fc9380) at /home/parker/Downloads/FEX/build/SDRPlusPlus/core/src/imgui/stb_image_resize.h:2187
        out_last_scanline = 0
        out_first_scanline = -3
        out_center_of_in = <optimized out>
        scale_ratio = 0.000488296151
        output_h = 16
        max_y = 36863
        pixel_margin = <optimized out>
        in_pixels_radius = 4095.875
        y = -3072
        out_last_scanline = <optimized out>
        out_first_scanline = <optimized out>
        out_center_of_in = <optimized out>
#3  stbir__resize_allocated (info=0x7fff96fc9380, input_data=<optimized out>, input_stride_in_bytes=<optimized out>, output_data=<optimized out>, output_stride_in_bytes=<optimized out>, alpha_channel=<optimized out>, 
    flags=<optimized out>, type=<optimized out>, edge_horizontal=<optimized out>, edge_vertical=<optimized out>, colorspace=<optimized out>, tempmem=0x7f883c102010, tempmem_size_in_bytes=1056967936)
    at /home/parker/Downloads/FEX/build/SDRPlusPlus/core/src/imgui/stb_image_resize.h:2410
        memory_required = <optimized out>
        width_stride_input = <optimized out>
        width_stride_output = <optimized out>
#4  stbir__resize_arbitrary (alloc_context=<optimized out>, input_data=<optimized out>, input_data@entry=0x0, input_w=<optimized out>, input_h=<optimized out>, input_stride_in_bytes=<optimized out>, output_data=<optimized out>, 
    output_data@entry=0x561369762540, output_w=output_w@entry=16, output_h=16, output_stride_in_bytes=64, s0=<optimized out>, t0=<optimized out>, s1=<optimized out>, t1=<optimized out>, transform=0x0, channels=4, alpha_channel=-1, 
    flags=0, type=STBIR_TYPE_UINT8, h_filter=STBIR_FILTER_DEFAULT, v_filter=STBIR_FILTER_DEFAULT, edge_horizontal=STBIR_EDGE_CLAMP, edge_vertical=STBIR_EDGE_CLAMP, colorspace=STBIR_COLORSPACE_LINEAR)
    at /home/parker/Downloads/FEX/build/SDRPlusPlus/core/src/imgui/stb_image_resize.h:2448
        info = {input_data = 0x0, input_w = 512, input_h = 32767, input_stride_bytes = 2048, output_data = 0x561369762540, output_w = 16, output_h = 16, output_stride_bytes = 64, s0 = 0, t0 = 0, s1 = 1, t1 = 1, horizontal_shift = 0, 
          vertical_shift = 0, horizontal_scale = 0.03125, vertical_scale = 0.000488296151, channels = 4, alpha_channel = -1, flags = 3, type = STBIR_TYPE_UINT8, horizontal_filter = STBIR_FILTER_MITCHELL, 
          vertical_filter = STBIR_FILTER_MITCHELL, edge_horizontal = STBIR_EDGE_CLAMP, edge_vertical = STBIR_EDGE_CLAMP, colorspace = STBIR_COLORSPACE_LINEAR, horizontal_contributors = 0x7f883c102010, 
          horizontal_coefficients = 0x7f883c103410, vertical_contributors = 0x7f883c105c10, vertical_coefficients = 0x7f883c155c08, decode_buffer_pixels = 640, decode_buffer = 0x7f883c1f5bf8, horizontal_buffer = 0x7f883c1f83f8, 
          horizontal_coefficient_width = 4, vertical_coefficient_width = 4, horizontal_filter_pixel_width = 128, vertical_filter_pixel_width = 8192, horizontal_filter_pixel_margin = 64, vertical_filter_pixel_margin = 4096, 
          horizontal_num_contributors = 640, vertical_num_contributors = 40959, ring_buffer_length_bytes = 256, ring_buffer_num_entries = 8193, ring_buffer_first_scanline = 11, ring_buffer_last_scanline = 0, ring_buffer_begin_index = -1, 
          ring_buffer = 0x7f883c1f84f8, encode_buffer = 0x0, horizontal_contributors_size = 5120, horizontal_coefficients_size = 10240, vertical_contributors_size = 327672, vertical_coefficients_size = 655344, decode_buffer_size = 10240, 
          horizontal_buffer_size = 256, ring_buffer_size = 2097408, encode_buffer_size = 0}
        memory_required = 1056967936
        extra_memory = <optimized out>
        result = <optimized out>
#5  0x00007f88584f6f6c in stbir_resize_uint8 (input_pixels=0x0, input_w=0, input_h=0, input_stride_in_bytes=-64, output_pixels=0x561369762540 "b\237@\b\026V", output_w=16, output_h=16, output_stride_in_bytes=64, num_channels=4)
    at /home/parker/Downloads/FEX/build/SDRPlusPlus/core/src/imgui/stb_image_resize.h:2463
No locals.
#6  sdrpp_main (argc=<optimized out>, argv=<optimized out>) at /home/parker/Downloads/FEX/build/SDRPlusPlus/core/src/core.cpp:228
        defConfig = {m_type = nlohmann::detail::value_t::null, m_value = {object = 0x0, array = 0x0, string = 0x0, binary = 0x0, boolean = false, number_integer = 0, number_unsigned = 0, number_float = 0}}
        resDir = ""
        bandColors = {m_type = nlohmann::detail::value_t::null, m_value = {object = 0x0, array = 0x0, string = 0x0, binary = 0x0, boolean = false, number_integer = 0, number_unsigned = 0, number_float = 0}}
        icons = {{width = -1761830528, height = 32767, pixels = 0x1 <error: Cannot access memory at address 0x1>}, {width = 48, height = 0, pixels = 0x0}, {width = -1761830496, height = 32767, pixels = 0x0}, {width = 1487974912, 
            height = 32648, pixels = 0x1 <error: Cannot access memory at address 0x1>}, {width = 1766324640, height = 22035, pixels = 0x26 <error: Cannot access memory at address 0x26>}, {width = 52, height = 0, pixels = 0x0}, {
            width = 512, height = 32767, pixels = 0x0}, {width = 16, height = 16, pixels = 0x561369762540 "b\237@\b\026V"}, {width = 24, height = 24, pixels = 0x56136975b810 "@\240NW\210\177"}, {width = 32, height = 32, 
            pixels = 0x561369806e10 "\200\240NW\210\177"}}
        glsl_version = <optimized out>
        winWidth = <optimized out>
        winHeight = <optimized out>
        monitor = <optimized out>
        window = 0x5613694bcae0
        io = <optimized out>
        _maximized = <optimized out>
        fsHeight = <optimized out>
        fsWidth = <optimized out>
        fsPosX = <optimized out>
        fsPosY = <optimized out>
#7  0x00007f885734fb25 in __libc_start_main () from /usr/lib/libc.so.6
No symbol table info available.
#8  0x0000561367a7b06e in _start ()

It starts, but doesn't see RTL-SDR

I don't understand why it says me to upgrade libusb. I just installed fresh zadig.
Any help?

[INFO] [UHD] Win32; Microsoft Visual C++ version 14.0; Boost_106700; UHD_3.15.0.0-0-gaea0e2de ←[1m←[31m[ERROR] rtlsdr_get_device_usb_strings(0) failed←[0m WARNING: Skipping broken USB device. Please upgrade libusb. WARNING: Skipping broken USB device. Please upgrade libusb. Starting DSP Thread! Resamp: 32000 800FloatResamp: 800 192Success Success Loading icons... Setting sample rate to 4000.000000 FIRResampler.setInputSampleRate(): 50 1 Resamp: 20 1000Stopping FM demodulator Starting FM demodulator FIRResampler.setOutputSampleRate(): 50 1 Resamp: 20 1000FloatFIRResampler.setInputSampleRate(): 6 25 FloatResamp: 1000 240Pos changed Resized: 844 354

Add antenna switching.

SDR's such as the SDRPlay RSP2 and Duo have more than one antenna input.
ability to set the input would be handy.

Band plan for germany

Hi,

I've created a rather rudimentary band plan for germany. Covers all amateur radio bands from 2.2km to 13cm as well as FM broadcast. Some license-free stuff like CB, PMR, etc. is also there.

{
"country_name": "Germany",
"country_code": "DE",
"author_name": "Tobias Mädel",
"author_url": "https://tbspace.de",
"bands": [
{
"name": "LW",
"type": "amateur",
"start": "135700",
"end": "137800"
},
{
"name": "630m",
"type": "amateur",
"start": "472000",
"end": "479000"
},
{
"name": "160m",
"type": "amateur",
"start": "1810000",
"end": "2000000"
},
{
"name": "80m",
"type": "amateur",
"start": "3500000",
"end": "3800000"
},
{
"name": "60m",
"type": "amateur",
"start": "5351500",
"end": "5366500"
},
{
"name": "40m",
"type": "amateur",
"start": "7000000",
"end": "7200000"
},
{
"name": "30m",
"type": "amateur",
"start": "10100000",
"end": "10150000"
},
{
"name": "20m",
"type": "amateur",
"start": "14000000",
"end": "14350000"
},
{
"name": "17m",
"type": "amateur",
"start": "18068000",
"end": "18168000"
},
{
"name": "15m",
"type": "amateur",
"start": "21000000",
"end": "21450000"
},
{
"name": "12m",
"type": "amateur",
"start": "24890000",
"end": "24990000"
},
{
"name": "CB",
"type": "other",
"start": "26565000",
"end": "27405000"
},
{
"name": "10m",
"type": "amateur",
"start": "28000000",
"end": "29700000"
},
{
"name": "6m",
"type": "amateur",
"start": "50030000",
"end": "51000000"
},
{
"name": "4m",
"type": "amateur",
"start": "70150000",
"end": "70200000"
},
{
"name": "FM",
"type": "broadcast",
"start": "87500000",
"end": "108000000"
},
{
"name": "2m",
"type": "amateur",
"start": "144000000",
"end": "146000000"
},
{
"name": "Freenet",
"type": "other",
"start": "149025000",
"end": "149115625"
},
{
"name": "70cm",
"type": "amateur",
"start": "430000000",
"end": "440000000"
},
{
"name": "PMR446",
"type": "other",
"start": "446006250",
"end": "446196875"
},
{
"name": "23cm",
"type": "amateur",
"start": "1240000000",
"end": "1300000000"
},
{
"name": "13cm",
"type": "amateur",
"start": "2320000000",
"end": "2450000000"
}
]
}

Compiling on Debian

I just tried compiling SDR++ on Debian.

There seems to be a problem with the source code:

` 85%] Building CXX object soapy_source/CMakeFiles/soapy_source.dir/src/main.cpp.o
/home/sascha/SDRPlusPlus/soapy_source/src/main.cpp: In member function ‘void SoapyModule::selectDevice(std::__cxx11::string)’:
/home/sascha/SDRPlusPlus/soapy_source/src/main.cpp:146:29: error: ‘class SoapySDR::Device’ has no member named ‘hasIQBalanceMode’; did you mean ‘hasIQBalance’?
hasIQBalance = dev->hasIQBalanceMode(SOAPY_SDR_RX, channelId);
^~~~~~~~~~~~~~~~
hasIQBalance

/home/sascha/SDRPlusPlus/soapy_source/src/main.cpp: In static member function ‘static void SoapyModule::start(void*)’:
/home/sascha/SDRPlusPlus/soapy_source/src/main.cpp:246:25: error: ‘class SoapySDR::Device’ has no member named ‘setIQBalanceMode’; did you mean ‘setIQBalance’?
_this->dev->setIQBalanceMode(SOAPY_SDR_RX, _this->channelId, _this->iqBalance);
^~~~~~~~~~~~~~~~
setIQBalance
/home/sascha/SDRPlusPlus/soapy_source/src/main.cpp: In static member function ‘static void SoapyModule::menuHandler(void*)’:
/home/sascha/SDRPlusPlus/soapy_source/src/main.cpp:342:51: error: ‘class SoapySDR::Device’ has no member named ‘setIQBalanceMode’; did you mean ‘setIQBalance’?
if (_this->running) { _this->dev->setIQBalanceMode(SOAPY_SDR_RX, _this->channelId, _this->iqBalance); }
^~~~~~~~~~~~~~~~
setIQBalance
make[2]: *** [soapy_source/CMakeFiles/soapy_source.dir/build.make:63: soapy_source/CMakeFiles/soapy_source.dir/src/main.cpp.o] Fehler 1
make[1]: *** [CMakeFiles/Makefile2:331: soapy_source/CMakeFiles/soapy_source.dir/all] Fehler 2
make: *** [Makefile:84: all] Fehler 2
`

I did as told and changed the lines 146, 246 and 342 and then it compiled.
I am still experiencing some problems (which might be related to this), but I will open another case for this later.

DLL fail to load on Windows x64

I have installed sdrpp_v0.2.5_beta_preview_x64.zip. When executing I get errors as indicated in the attached screen dump.
I have also downloaded the source code, rebuilt it and get the same errors when executing.
Please could you advise how to get past this problem
image
SDR++Errors

Crash when disable/enable waterfall

Possible reason: heap corruption

Need investigation with valgrind

_int_malloc 0x00007ffff68c2da2
malloc 0x00007ffff68c3e51
operator new 0x00007ffff6abe53a
operator new[] 0x00007ffff6abe58a
ImGui::WaterFall::onResize waterfall.cpp:431
displaymenu::draw display.cpp:16
Menu::draw menu.cpp:53
drawWindow main_window.cpp:518
sdrpp_main core.cpp:269
main main.cpp:5
__libc_start_main 0x00007ffff6860152
_start 0x000055555555506e

Building on OSX instruction & add bookmarks

It is a very good idea to write an application! More open source multi-platform SDR apps required

  1. Please add instructions for building your app for OSX. I can participate and collect on my computer under your guidance.

  2. I would also like to see tabs for frequencies. Something similar to the implementation in sdr # or gqrx with spectrum highlighting.

SoapySDR w/ BladeRF no Audio on some bandwidth selections

Just taking SDRPlusPlus for a test spin. Built from latest source today on Ubuntu 20.04.

GUI comes up great, I can see the BladeRF and it does work with the default bandwidth selections. What's interesting is that if I select the 4-12M range I get no audio, at least on WFM in the FM range. Before and after the 4-12 range, all the way up to 60+M I can get audio.

I then close sdr++ and open up CubicSDR built from source and select the same 4-12 range and I get audio. No idea the difference, but figured I'd share. I've not tested SDR++ with any other SDRs yet.

Core dump on startup, Ubuntu 20.10 (x86/64 / amd64)

Hi!

I just downloaded and compiled the Github repo -- however, I seem to be unable to run SDRPlusPlus after a successful compile on Ubuntu 20.10 (amd64):

$ ./sdrpp -r ../root_dev/
[2021-02-17 12:14:57.705] [info] SDR++ v0.2.5_beta
[2021-02-17 12:14:57.705] [info] Loading config
[2021-02-17 12:14:57.705] [warning] Config file '../root_dev//config.json' does not exist, creating it
sdrpp: /home/ubuntu/builds/SDRPlusPlus/core/src/imgui/stb_image_resize.h:2394: int stbir__resize_allocated(stbir__info*, const void*, int, void*, int, int, stbir_uint32, stbir_datatype, stbir_edge, stbir_edge, stbir_colorspace, void*, size_t): Assertion `(size_t)(unsigned char*)(((unsigned char*)info->ring_buffer) + info->ring_buffer_size) == (size_t)tempmem + tempmem_size_in_bytes' failed.
Aborted (core dumped)

If I run sdrpp alone, I get the same error, but without the config file warning:

$ ./sdrpp 
[2021-02-17 12:15:54.548] [info] SDR++ v0.2.5_beta
[2021-02-17 12:15:54.548] [info] Loading config
sdrpp: /home/ubuntu/builds/SDRPlusPlus/core/src/imgui/stb_image_resize.h:2394: int stbir__resize_allocated(stbir__info*, const void*, int, void*, int, int, stbir_uint32, stbir_datatype, stbir_edge, stbir_edge, stbir_colorspace, void*, size_t): Assertion `(size_t)(unsigned char*)(((unsigned char*)info->ring_buffer) + info->ring_buffer_size) == (size_t)tempmem + tempmem_size_in_bytes' failed.
Aborted (core dumped)

Running from the main directory (one directory level up, sdrpp has been built under 'build') produces this:

$ ./build/sdrpp -r root_dev
[2021-02-17 12:18:40.935] [info] SDR++ v0.2.5_beta
[2021-02-17 12:18:40.936] [info] Loading config
sdrpp: /home/ubuntu/builds/SDRPlusPlus/core/src/imgui/stb_image_resize.h:1141: void stbir__normalize_downsample_coefficients(stbir__contributors*, float*, stbir_filter, float, int, int): Assertion `total > 0.9f' failed.
Aborted (core dumped)

All help appreciated!

HackRF Antenna Power (bias-t)

PLEASE add Antenna Power for the HackRF if it's not already included (didn't see it in your GitHub code)! This is the one thing I really hated about SDRSharp. The HackRF has an antenna power feature, and other programs use it, but SDRSharp never did.

libGLEW dependency problem

Hi
i'm running ubuntu 18.04 with kernel 5.4 on intel core-i3 350m without dedicated graphic card
downloaded your provided .deb file release v0.2.5 _beta PREVIEW #3
followed your install guide
when i run sdrpp it says sdrpp: error while loading shared libraries: libGLEW.so.2.1: cannot open shared object file: No such file or directory
checked my libraries ans saw libGLEW2.0 is installed (shipped with ubuntu 18.04)
then compiled glew repository v2.1.0 [although newer version 2.2 is available but i compiled version 2.1 because sdrpp said it requires version 2.1]
glew makefile by default will takes the compiled .so file into /usr/lib64 so added that temporary with export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib64
now when i run sdrpp will get this error:

[2021-03-28 20:08:30.178] [info] SDR++ v0.2.5_beta
[2021-03-28 20:08:30.179] [info] Loading config
[2021-03-28 20:08:30.229] [error] Glfw Error 65543: GLX: Failed to create context: GLXBadFBConfig

after searching about this problem i didn't get what's wrong or incompatible, and here is my glxinfo |grep "OpenGL version" output : OpenGL version string: 2.1 Mesa 20.0.8

Any help appreciated!

RX888 support

I just saw on twitter that you started working for support for the RX888.

I am not sure if you are aware that I wrote a low level library for Linux for both the old firmware (ExtIO dll version 0.X) and the most recent firmware version (ExtIO dll version 1.X).
The version for the old firmware is here: https://github.com/fventuri/RF103 (should work for HF; still being tested for VHF/UHF)
The version for the new firmware is here: https://github.com/fventuri/libsddc (I pushed it out only a couple of days ago; it is being tested these days).

Since they are both libraries that only depend on libusb 1.0, I thought you might be able to use them in your code (or at least take a look at the code to see how things work there).

Feel free to ask me any question about them, and congratulations for your nice SDR program!

Franco

SDR++ v0.2.5_beta PREVIEW #2 on Raspberry Pi

I just compiled SDR++ v0.2.5_beta PREVIEW #2 on my Raspberry Pi 4 and while the compile appears to have worked, I noticed a few things:

  1. The workaround suggested in issue #39 was also necessary on the Raspberry Pi 4. The SDR hardware is a NeSDR Smart (RTL-SDR) and the Linux version on my Raspberry Pi is:
toby@raspberrypi:~/sdr++/SDRPlusPlus-0.2.5_beta_preview2 $ cat /etc/os-release
PRETTY_NAME="Raspbian GNU/Linux 10 (buster)"
NAME="Raspbian GNU/Linux"
VERSION_ID="10"
VERSION="10 (buster)"
VERSION_CODENAME=buster
ID=raspbian
ID_LIKE=debian
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"

toby@raspberrypi:~/sdr++/SDRPlusPlus-0.2.5_beta_preview2 $ lsb_release -a
No LSB modules are available.
Distributor ID: Raspbian
Description:    Raspbian GNU/Linux 10 (buster)
Release:        10
Codename:       buster

toby@raspberrypi:~/sdr++/SDRPlusPlus-0.2.5_beta_preview2 $ hostnamectl
   Static hostname: raspberrypi
         Icon name: computer
        Machine ID: 6eba8ddf347342c1995723fba1eb67c0
           Boot ID: 7ad6103e527f4e22aa4730ca50240969
  Operating System: Raspbian GNU/Linux 10 (buster)
            Kernel: Linux 5.4.83-v7l+
      Architecture: arm
toby@raspberrypi:~/sdr++/SDRPlusPlus-0.2.5_beta_preview2 $ 
  1. The CPU load on the Raspberry Pi 4, overclocked to 1.8Ghz, is fairly high (above 85%) and I am getting a series of
    ALSA lib pcm.c:8424:(snd_pcm_recover) underrun occurred
    errors.

Also the software appears to have problems with the high sample rates, e.g. at 2.048 msps the audio becomes very stocky and distorted. In comparison CubicSDR runs cleanly at 2.56 msps and causes a CPU load of about 45 to 50%.

  1. I just tried to restart sdr++ and am now getting the following messages:
toby@raspberrypi:~/sdr++/SDRPlusPlus-0.2.5_beta_preview2 $ LIBGL_ALWAYS_SOFTWARE=1 ./build/sdrpp -r root_dev
[2021-01-10 18:39:31.962] [info] SDR++ v0.2.5_beta
[2021-01-10 18:39:31.962] [info] Loading config
[2021-01-10 18:39:32.709] [info] Loading icons
[2021-01-10 18:39:32.961] [info] Loading band plans
[2021-01-10 18:39:32.994] [info] Loading band plans color table
[2021-01-10 18:39:33.043] [info] Loading modules
[2021-01-10 18:39:33.043] [info] Loading ./build/radio/radio.so
[2021-01-10 18:39:33.081] [info] Loading ./build/recorder/recorder.so
[2021-01-10 18:39:33.113] [info] Loading ./build/rtl_tcp_source/rtl_tcp_source.so
[2021-01-10 18:39:33.143] [info] Loading ./build/soapy_source/soapy_source.so
[2021-01-10 18:39:33.174] [info] Loading ./build/audio_sink/audio_sink.so
[2021-01-10 18:39:33.202] [info] Initializing AirspyHF+ Source (airspyhf_source)
[2021-01-10 18:39:33.229] [error] Module 'airspyhf_source' doesn't exist
[2021-01-10 18:39:33.229] [info] Initializing Audio Sink (audio_sink)
[2021-01-10 18:39:33.271] [info] Initializing PlutoSDR Source (plutosdr_source)
[2021-01-10 18:39:33.298] [error] Module 'plutttosdr_source' doesn't exist
[2021-01-10 18:39:33.298] [info] Initializing RTL-TCP Source (rtl_tcp_source)
[2021-01-10 18:39:33.325] [info] Initializing Radio (radio)
[2021-01-10 18:39:33.595] [info] Initializing Recorder (recorder)
[2021-01-10 18:39:33.621] [info] Initializing SoapySDR Source (soapy_source)
[ERROR] SoapySSDPEndpoint::sendTo(udp://[ff02::c]:1900) = -1
  sendto(udp://[ff02::c]:1900) [99: Cannot assign requested address]
Found Rafael Micro R820T tuner
[INFO] [UHD] linux; GNU C++ version 8.2.0; Boost_106700; UHD_3.13.1.0-3
Found Rafael Micro R820T tuner
[2021-01-10 18:39:36.474] [info] Setting sample rate to 1024000.0
[2021-01-10 18:39:36.476] [info] SoapyModule 'SoapySDR Source': Instance created!
[2021-01-10 18:39:36.476] [info] SoapyModule 'SoapySDR Source': Menu Select!
[2021-01-10 18:39:36.478] [info] SoapyModule 'SoapySDR Source': Tune: 0.0!
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.front
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround21
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround21
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround40
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround41
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround50
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround51
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.surround71
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.iec958
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.iec958
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.iec958
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.hdmi
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.modem
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.phoneline
ALSA lib pcm_oss.c:377:(_snd_pcm_oss_open) Unknown field port
ALSA lib pcm_oss.c:377:(_snd_pcm_oss_open) Unknown field port
ALSA lib pcm_a52.c:823:(_snd_pcm_a52_open) a52 is only for playback
ALSA lib conf.c:5014:(snd_config_expand) Unknown parameters {AES0 0x6 AES1 0x82 AES2 0x0 AES3 0x2  CARD 0}
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM iec958:{AES0 0x6 AES1 0x82 AES2 0x0 AES3 0x2  CARD 0}
ALSA lib pcm_usb_stream.c:486:(_snd_pcm_usb_stream_open) Invalid type for card
ALSA lib pcm_usb_stream.c:486:(_snd_pcm_usb_stream_open) Invalid type for card
[AVAudioResampleContext @ 0x2f8450] Value 160.000000 for parameter 'phase_shift' out of range [0 - 30]
[AVAudioResampleContext @ 0x2fa060] Value 320.000000 for parameter 'phase_shift' out of range [0 - 30]
[AVAudioResampleContext @ 0x2fa060] Value 640.000000 for parameter 'phase_shift' out of range [0 - 30]
[2021-01-10 18:39:36.964] [warning] ConfigManager locked, waiting...
[2021-01-10 18:39:37.083] [info] Audio device open.
[2021-01-10 18:39:37.132] [info] SoapyModule 'SoapySDR Source': Tune: 101709600.0!
[2021-01-10 18:39:37.133] [info] Ready.
Found Rafael Micro R820T tuner
[R82XX] PLL not locked!
[INFO] Using format CF32.
Allocating 15 zero-copy buffers
[2021-01-10 18:39:45.996] [info] SoapyModule 'SoapySDR Source': Start!
[2021-01-10 18:39:46.047] [info] SoapyModule 'SoapySDR Source': Tune: 101709600.0!
ALSA lib pcm.c:8424:(snd_pcm_recover) underrun occurred
ALSA lib pcm.c:8424:(snd_pcm_recover) underrun occurred
ALSA lib pcm.c:8424:(snd_pcm_recover) underrun occurred
ALSA lib pcm.c:8424:(snd_pcm_recover) underrun occurred
Floating point exception
toby@raspberrypi:~/sdr++/SDRPlusPlus-0.2.5_beta_preview2 $

On linux, crash because of bandplans directory not found

When I build the last 0.2.3 alpha and try to start I got:

terminate called after throwing an instance of 'std::filesystem::__cxx11::filesystem_error'
what(): filesystem error: directory iterator cannot open directory: No such file or directory [../bandplans]
Abandon (core dumped)

I start it from where I build, and there is actually a bandplans folder.

If think it should look for ./bandplans instead of ../bandplans because if I copy the folder to ../ sdrpp actually starts.

decoders?

(not have you email so do this)
Will be possible in near future decoders like gr-gsm, LTE, Iridium, inmarsat voice, tetra (linux version) and many others using SDR++ as frontend? This will be a very, very large step forward and leave others SDRsoftware very far behind.

Can't run SDR++ on Ubuntu 20.04.1 LTS

Hi,
I have compile the program from source (7759de9), everything is ok. But when I try to run the program, it just crash. the error message is here:


RtApiAlsa::getDeviceInfo: snd_pcm_open error for device (hw:0,1), Device or resource busy.

[2020-08-20 15:23:57.279] [info] SDR++ v0.2.5_alpha
ALSA lib pcm.c:2642:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2642:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2642:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm_route.c:869:(find_matching_chmap) Found no matching channel map
ALSA lib pcm_route.c:869:(find_matching_chmap) Found no matching channel map
ALSA lib pcm_route.c:869:(find_matching_chmap) Found no matching channel map
ALSA lib pcm_route.c:869:(find_matching_chmap) Found no matching channel map
ALSA lib pcm_oss.c:377:(_snd_pcm_oss_open) Unknown field port
ALSA lib pcm_oss.c:377:(_snd_pcm_oss_open) Unknown field port
ALSA lib pcm_usb_stream.c:486:(_snd_pcm_usb_stream_open) Invalid type for card
ALSA lib pcm_usb_stream.c:486:(_snd_pcm_usb_stream_open) Invalid type for card
[2020-08-20 15:23:57.803] [info] Audio device open.
[2020-08-20 15:23:57.803] [info] Loading icons
[2020-08-20 15:23:57.852] [info] Loading band plans
[2020-08-20 15:23:57.852] [error] Band Plan directory does not exist
[2020-08-20 15:23:57.852] [info] Loading band plans color table
[2020-08-20 15:23:57.852] [error] Band Plan Color Table file does not exist
[2020-08-20 15:23:57.852] [info] Loading test module
[2020-08-20 15:23:57.852] [info] Ready.
[2020-08-20 15:23:57.929] [info] Changed input device: 0

RtApiAlsa::getDeviceInfo: snd_pcm_open error for device (hw:0,0), Device or resource busy.

[2020-08-20 15:23:57.941] [info] Changed sample rate: 0
AddressSanitizer:DEADLYSIGNAL
=================================================================
==3463==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000000 (pc 0x5576e08255f8 bp 0x6110001cc400 sp 0x7ffcb5e68960 T0)
==3463==The signal is caused by a READ memory access.
==3463==Hint: address points to the zero page.
    #0 0x5576e08255f7 in std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, bandplan::BandPlan_t>::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, 0ul>(std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>&, std::tuple<>&, std::_Index_tuple<0ul>, std::_Index_tuple<>) /usr/include/c++/9/bits/basic_string.h:451
    #1 0x5576e08255f7 in std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, bandplan::BandPlan_t>::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>(std::piecewise_construct_t, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>, std::tuple<>) /usr/include/c++/9/tuple:1663
    #2 0x5576e08255f7 in void __gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, bandplan::BandPlan_t> > >::construct<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, bandplan::BandPlan_t>, std::piecewise_construct_t const&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>, std::tuple<> >(std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, bandplan::BandPlan_t>*, std::piecewise_construct_t const&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>&&, std::tuple<>&&) /usr/include/c++/9/ext/new_allocator.h:147
    #3 0x5576e08255f7 in void std::allocator_traits<std::allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, bandplan::BandPlan_t> > > >::construct<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, bandplan::BandPlan_t>, std::piecewise_construct_t const&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>, std::tuple<> >(std::allocator<std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, bandplan::BandPlan_t> > >&, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, bandplan::BandPlan_t>*, std::piecewise_construct_t const&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>&&, std::tuple<>&&) /usr/include/c++/9/bits/alloc_traits.h:484
    #4 0x5576e08255f7 in void std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, bandplan::BandPlan_t>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, bandplan::BandPlan_t> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, bandplan::BandPlan_t> > >::_M_construct_node<std::piecewise_construct_t const&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>, std::tuple<> >(std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, bandplan::BandPlan_t> >*, std::piecewise_construct_t const&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>&&, std::tuple<>&&) /usr/include/c++/9/bits/stl_tree.h:614
    #5 0x5576e08255f7 in std::_Rb_tree_node<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, bandplan::BandPlan_t> >* std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, bandplan::BandPlan_t>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, bandplan::BandPlan_t> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, bandplan::BandPlan_t> > >::_M_create_node<std::piecewise_construct_t const&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>, std::tuple<> >(std::piecewise_construct_t const&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>&&, std::tuple<>&&) /usr/include/c++/9/bits/stl_tree.h:631
    #6 0x5576e08255f7 in std::_Rb_tree_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, bandplan::BandPlan_t> > std::_Rb_tree<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, bandplan::BandPlan_t>, std::_Select1st<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, bandplan::BandPlan_t> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, bandplan::BandPlan_t> > >::_M_emplace_hint_unique<std::piecewise_construct_t const&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>, std::tuple<> >(std::_Rb_tree_const_iterator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, bandplan::BandPlan_t> >, std::piecewise_construct_t const&, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>&&, std::tuple<>&&) /usr/include/c++/9/bits/stl_tree.h:2455
    #7 0x5576e096f638 in std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bandplan::BandPlan_t, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, bandplan::BandPlan_t> > >::operator[](std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) /usr/include/c++/9/bits/stl_map.h:499
    #8 0x5576e0963184 in drawWindow() /home/lynx/Git/SDRPlusPlus/src/main_window.cpp:215
    #9 0x5576e07e1373 in main /home/lynx/Git/SDRPlusPlus/src/main.cpp:98
    #10 0x7f39bc7b10b2 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x270b2)
    #11 0x5576e07e43cd in _start (/home/lynx/Git/SDRPlusPlus/build/sdrpp+0x663cd)

AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV /usr/include/c++/9/bits/basic_string.h:451 in std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, bandplan::BandPlan_t>::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, 0ul>(std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&>&, std::tuple<>&, std::_Index_tuple<0ul>, std::_Index_tuple<>)
==3463==ABORTING```

How can I fix it? thx

Shared library libvolk.so.1.4 not present on Ubuntu 20.04 and 20.10

Installed the prerequisite package list (includinglibvolk2-dev) but when I run it, it's missing the v1 libvolk library.....

sdrpp: error while loading shared libraries: libvolk.so.1.4: cannot open shared object file: No such file or directory

I have a Debian 10 system and I see that it does include the v1 library (libvolk1-dev/stable) so this is specific to Ubuntu 20.04 and 20.10.

Crash after opening plutosdr_source

Hi,

after having everything compiled, I tried to open a stream with my pluto, but as soon as I hit the play button,
everything crashes.

In the log I can find various warnings and errors regarding ALSA, but there seems also to be a problem with the plutosdr_source.co

sascha@think:~/SDRPlusPlus/build$ ./sdrpp
[2020-12-13 16:51:54.038] [info] SDR++ v0.2.5_alpha
[2020-12-13 16:51:54.039] [info] Loading config
[2020-12-13 16:51:54.654] [info] Loading icons
[2020-12-13 16:51:54.662] [info] Loading band plans
[2020-12-13 16:51:54.668] [info] Loading band plans color table
[2020-12-13 16:51:54.678] [info] Loading modules
[2020-12-13 16:51:54.678] [info] Loading ./radio/radio.so
[2020-12-13 16:51:54.693] [info] Loading ./recorder/recorder.so
[2020-12-13 16:51:54.710] [info] Loading ./soapy_source/soapy_source.so
[2020-12-13 16:51:54.727] [info] Loading ./rtl_tcp_source/rtl_tcp_source.so
[2020-12-13 16:51:54.743] [info] Loading ./audio_sink/audio_sink.so
[2020-12-13 16:51:54.759] [info] Loading ./plutosdr_source/plutosdr_source.so
[2020-12-13 16:51:54.776] [info] Initializing Audio Sink (audio_sink)
[2020-12-13 16:51:54.792] [info] Initializing PlutoSDR Source (plutosdr_source)
[2020-12-13 16:51:54.809] [info] PlutoSDRSourceModule 'PlutoSDR Source': Instance created!
[2020-12-13 16:51:54.809] [info] Initializing RTL-TCP Source (rtl_tcp_source)
[2020-12-13 16:51:54.826] [info] Initializing Radio 1 (radio)
[2020-12-13 16:51:54.900] [info] Initializing Radio 2 (radio)
[2020-12-13 16:51:54.957] [info] Initializing Recorder (recorder)
[2020-12-13 16:51:54.957] [info] Initializing SoapySDR Source (soapy_source)
[INFO] [UHD] linux; GNU C++ version 8.2.0; Boost_106700; UHD_3.13.1.0-3
[2020-12-13 16:51:57.424] [info] Setting sample rate to 44100.0
[2020-12-13 16:51:57.425] [info] SoapyModule 'SoapySDR Source': Instance created!
[2020-12-13 16:51:57.426] [info] PlutoSDRSourceModule 'PlutoSDR Source': Menu Select!
[2020-12-13 16:51:57.426] [info] PlutoSDRSourceModule 'PlutoSDR Source': Tune: 0.0!
ALSA lib pcm_dsnoop.c:638:(snd_pcm_dsnoop_open) unable to open slave
ALSA lib pcm_dmix.c:1108:(snd_pcm_dmix_open) unable to open slave
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2565:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm_oss.c:377:(_snd_pcm_oss_open) Unknown field port
ALSA lib pcm_oss.c:377:(_snd_pcm_oss_open) Unknown field port
ALSA lib pcm_a52.c:823:(_snd_pcm_a52_open) a52 is only for playback
ALSA lib pcm_usb_stream.c:486:(_snd_pcm_usb_stream_open) Invalid type for card
ALSA lib pcm_usb_stream.c:486:(_snd_pcm_usb_stream_open) Invalid type for card
ALSA lib pcm_dmix.c:1108:(snd_pcm_dmix_open) unable to open slave
[2020-12-13 16:51:58.039] [warning] ConfigManager locked, waiting...
[2020-12-13 16:51:58.106] [info] Audio device open.
[2020-12-13 16:51:59.039] [warning] ConfigManager locked, waiting...
Expression 'ret' failed in 'src/hostapi/alsa/pa_linux_alsa.c', line: 1736
Expression 'AlsaOpen( hostApi, parameters, streamDir, &pcm )' failed in 'src/hostapi/alsa/pa_linux_alsa.c', line: 1768
[2020-12-13 16:52:00.039] [warning] ConfigManager locked, waiting...
Expression 'ret' failed in 'src/hostapi/alsa/pa_linux_alsa.c', line: 1736
Expression 'AlsaOpen( hostApi, parameters, streamDir, &pcm )' failed in 'src/hostapi/alsa/pa_linux_alsa.c', line: 1768
[2020-12-13 16:52:01.040] [warning] ConfigManager locked, waiting...
Expression 'ret' failed in 'src/hostapi/alsa/pa_linux_alsa.c', line: 1736
Expression 'AlsaOpen( hostApi, parameters, streamDir, &pcm )' failed in 'src/hostapi/alsa/pa_linux_alsa.c', line: 1768
[2020-12-13 16:52:02.040] [warning] ConfigManager locked, waiting...
Expression 'ret' failed in 'src/hostapi/alsa/pa_linux_alsa.c', line: 1736
Expression 'AlsaOpen( hostApi, parameters, streamDir, &pcm )' failed in 'src/hostapi/alsa/pa_linux_alsa.c', line: 1768
[2020-12-13 16:52:03.040] [warning] ConfigManager locked, waiting...
Expression 'ret' failed in 'src/hostapi/alsa/pa_linux_alsa.c', line: 1736
Expression 'AlsaOpen( hostApi, parameters, streamDir, &pcm )' failed in 'src/hostapi/alsa/pa_linux_alsa.c', line: 1768
[2020-12-13 16:52:04.040] [warning] ConfigManager locked, waiting...
Expression 'ret' failed in 'src/hostapi/alsa/pa_linux_alsa.c', line: 1736
Expression 'AlsaOpen( hostApi, parameters, streamDir, &pcm )' failed in 'src/hostapi/alsa/pa_linux_alsa.c', line: 1768
[2020-12-13 16:52:04.515] [info] Audio device open.
[2020-12-13 16:52:04.516] [info] PlutoSDRSourceModule 'PlutoSDR Source': Tune: 96500000.0!
[2020-12-13 16:52:04.516] [info] Ready.
./sdrpp: symbol lookup error: ./plutosdr_source/plutosdr_source.so: undefined symbol: iio_create_context_from_uri
`

EDIT: Sorry for all the edits, but I had to find out first how to format logs correctly

Building on Linux failed

System: Kubuntu 20.04
SDR++ compiles fine, when invoking ./sdrpp I get the following error

./sdrpp [INFO] [UHD] linux; GNU C++ version 9.2.1 20200304; Boost_107100; UHD_3.15.0.0-2build5 ERROR: Unable to find host: Name or service not known [2020-10-04 21:00:00.633] [info] SDR++ v0.2.5_alpha sdrpp: /home/hans/src/SDRPlusPlus/src/imgui/imgui_draw.cpp:1823: ImFont* ImFontAtlas::AddFontFromFileTTF(const char*, float, const ImFontConfig*, const ImWchar*): Assertion(0) && "Could not load font file!"' failed.
Aborted (core dumped)
`
Any ideas on how to proceed?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.