Table of Contents
Introduction
This tutorial describes how to install GNU Radio from source. It also gives step by step instructions on how to install all of the dependencies and packages that GNU Radio requires. GNU Radio also publishes an official install from source guide.
You are responsible to any and all changes to your computer system. This tutorial is provided as a courtesy and without warranty. System-level changes will be made to your computer within this tutorial. If you have concerns about any changes being made to your system in terms of modified or changed files, new software installs, updated software, or anything else, please do not continue.
More blogs:
Preparation
You need to have Ubuntu 24.04 LTS already installed before starting this tutorial. Make sure the packages are up to date:
$ sudo apt-get update
$ sudo apt-get upgrade
Now install the build-essential package which provides various compilation tools:
$ sudo apt-get install build-essential
The first tool that is required is Git. Git is a source-code versioning tool and will be used to download (or “checkout” in Git-language”) source code.
Install Git with the following command:
$ sudo apt-get install git
The second tool needed is CMake, which is used to compile source code. Install CMake:
$ sudo apt-get install cmake
Download and Compile Volk
VOLK (vector-optimized library of kernels) is a software package used within GNU Radio for making certain processor operations much faster.
VOLK needs to be installed prior to GNU Radio, and VOLK depends on the Mako templating package. Install Mako:
$ sudo apt-get install python3-mako
Download the source code for VOLK using Git:
$ git clone --recursive https://github.com/gnuradio/volk.git
Move into the directory:
$ cd volk
Create a build directory and move into it:
$ mkdir build
$ cd build
Set up the compilation with CMake:
$ cmake ..
Compile the source code. The -j4 flag compiles with 4 additional cores:
$ make -j4
Install the source code:
$ sudo make install
Optionally you can run volk_profile which will run tests to determine which VOLK algorithms should be called for the best performance, which will take a couple minutes to run.
$ volk_profile
Install GNU Radio Dependencies
GNU Radio has a large number of dependencies. Install them with the following command:
$ sudo apt-get install libboost-all-dev python3-numpy python3-pybind11 python3-packaging libgmp3-dev python3-pygccxml python3-thrift doxygen libspdlog-dev thrift-compiler libunwind-dev python3-pytest libsndfile1-dev libfftw3-dev libgsl-dev python3-pyqtgraph python3-scipy libuhd-dev libqwt-qt5-dev libqwt-qt5-6 libzmq3-dev libcodec2-dev libalsaplayer-dev libjack-dev portaudio19-dev libiio-dev libad9361-dev libsoapysdr-dev libsdl2-dev libsdl-dev libqt5opengl5-dev python3-click-plugins libgsm1-dev libcodec2-dev libqt5svg5-dev
Download and Compile GNU Radio
Download the GNU Radio source code:
$ git clone https://github.com/gnuradio/gnuradio.git
Move into the directory:
$ cd gnuradio
Checkout the latest version:
$ git checkout v3.10.9.2
Create a build directory and move into it:
$ mkdir build
$ cd build
Set up the compilation with CMake. The -Wno-dev turns off developer-specific warning messages:
$ cmake .. -Wno-dev
Compile the source code:
$ make -j4
Install GNU Radio:
$ sudo make install
Run ldconfig to update the links against the newly installed libraries:
$ sudo ldconfig
Now run gnuradio-companion:
$ gnuradio-companion
Conclusion
This tutorial described how to install GNU Radio from source, along side all of the other dependencies and packages that are required.
More blogs: