Skip to content

Installation Requirements

Debian Bullseye and GNU Radio 3.8

The current main release of QRadioLink for Debian Bullseye requires GNU Radio 3.8 and Qt 5.14 or greater. For the video transmission mode gstreamer and libgstreamer-plugins-bad1.0-0 are required. Installing all dependencies on Debian Bullseye:

$ sudo apt-get install gnuradio-dev protobuf-compiler gr-osmosdr gnuradio libvolk2-dev libvolk2-bin
libprotobuf23 libprotobuf-dev libopus0 libopus-dev libspeexdsp1 libspeexdsp-dev libpulse0 libpulse-dev
liblog4cpp5v5 libcodec2-0.9 libcodec2-dev libasound2 libasound2-dev libjpeg62-turbo libjpeg62-turbo-dev
libconfig++9v5 libconfig++-dev qt5-qmake qtbase5-dev libqt5core5a libqt5gui5 libqt5network5 
libqt5sql5 qtmultimedia5-dev libqt5multimediawidgets5 libqt5multimedia5-plugins libqt5multimedia5
libftdi-dev libftdi1 libsndfile1-dev libsndfile1 qtgstreamer-plugins-qt5 libgstreamer-plugins-bad1.0-0
liblimesuite-dev limesuite-udev liblimesuite20.10-1 libzmq3-dev libzmq5 libsoapysdr-dev libsoapysdr0.7 libuhd-dev libuhd3.15.0

Debian Bookworm and GNU Radio 3.10

A version of qradiolink commpatible with GNU Radio 3.10 and usable with Debian Bookworm and distributions with compatible package versions can be built using the gr_3.10 branch of the source code repository. Qt5 is still required for Bookworm. Due to some blocks being deprecated in GNU Radio 3.10 not all digital modes may work correctly. The dependencies are the same as in the above command except you must identify the correct versions for Debian 12 Bookworm.

Ubuntu

For Ubuntu 20.04.3 build dependencies are:

$ sudo apt-get install gnuradio-dev protobuf-compiler gr-osmosdr gnuradio libvolk2-dev libvolk2-bin
libprotobuf23 libprotobuf-dev libopus0 libopus-dev libspeexdsp1 libspeexdsp-dev libpulse0 libpulse-dev
liblog4cpp5v5 libcodec2-0.9 libcodec2-dev libasound2 libasound2-dev libjpeg-turbo8 libjpeg-turbo8-dev
libconfig++9v5 libconfig++-dev qt5-qmake qtbase5-dev libqt5core5a libqt5gui5 libqt5network5 
libqt5sql5 qtmultimedia5-dev libqt5multimediawidgets5 libqt5multimedia5-plugins libqt5multimedia5
libftdi-dev libftdi1 libsndfile1-dev libsndfile1 qtgstreamer-plugins-qt5 libgstreamer-plugins-bad1.0-0
liblimesuite-dev liblimesuite20.01-1 libzmq3-dev libzmq5 libsoapysdr-dev libsoapysdr0.7 libuhd-dev libuhd

In order to build on Ubuntu 17.10 you have to install the following packages, assuming a full GNU Radio development environment is already installed. Please note these instructions are for a very old version and are not guaranteed to work with newer versions. It is recommended to follow the Debian install guide and adjust for Ubuntu differences.

$ sudo apt install libconfig++-dev libprotobuf-dev libopus-dev libpulse-dev libasound2-dev libcodec2-dev libsqlite3-dev libjpeg-dev libprotoc-dev libsndfile1 libftdi protobuf-compiler

On Ubuntu 18.04 LTS, replace libjpeg62-turbo and libjpeg62-turbo-dev with libjpeg-turbo8-dev and libjpeg-dev

$ sudo apt install libjpeg-turbo8-dev libjpeg-dev

Packages required on other Linux distributions

  • Qt >= 5.14 and Qt5 development packages (older versions of Qt5 >= 5.11 might work as well)
  • qmake
  • Pulseaudio or Alsa or Jack
  • Gnuradio >= 3.8 built with UHD, SoapySDR support and FreeDV/Codec2 support. Please verify that the following was printed before you (or your distribution's packager) built gnuradio:
--   * gr-vocoder
--   * * codec2
--   * * freedv
  • In #67 it was reported that it may be necessary to set some cmake options In order for codec2 and it's freedv support to be detected properly.

  • Boost and boost-devel

  • libgnuradio-osmosdr (gr-osmosdr) built with UHD, RTL-SDR, SoapySDR, HackRF, RedPitaya or BladeRF support
  • libprotobuf, libopus, libspeexdsp, libpulse-simple, libpulse, libasound, libcodec2, libsqlite3, libjpeg, libconfig++, libvolk, libftdi, libsndfile1, qtmultimedia5-dev, libqt5multimediawidgets5, libqt5multimedia5, libqt5multimedia5 (gstreamer1.0-plugins-bad for Qt video), libzmq5
  • protoc compiler (libprotoc 2.6.1 or greater, depending on which version of libprotobuf is used)
  • SoapySDR and SoapyPlutoSDR, SoapyLMS7 are needed to support the ADALM-Pluto and the LimeSDR devices
  • LimeSuite: liblimesuite-dev liblimesuite20.10-1 used for LimeRFE control
  • libuhd and libuhd-dev