Installation Guide

The following steps need to be taken in order to download and build the srsRAN Project:

  1. Install dependencies

  2. Install RF driver

  3. Clone the repository

  4. Build the codebase


Build Tools and Dependencies

The srsRAN Project uses CMake and C++14. We recommend the following build tools:

The srsRAN Project has the following necessary dependencies:

You can install the required build tools and dependencies for various distributions as follows:

Ubuntu 22.04:

sudo apt-get install cmake make gcc g++ pkg-config libfftw3-dev libmbedtls-dev libsctp-dev libyaml-cpp-dev libgtest-dev

Fedora:

sudo yum install cmake make gcc gcc-c++ fftw-devel lksctp-tools-devel yaml-cpp-devel mbedtls-devel gtest-devel

Arch Linux:

sudo pacman -S cmake make base-devel fftw mbedtls yaml-cpp lksctp-tools gtest

It is also recommended users install the following (although they are not required):

  • Ccache: This will help to speed up re-compilation

  • backward-cpp: This library helps to generate more informative backtraces in the stdout if an error occurs during runtime


RF-drivers

The srsRAN Project uses RF drivers to support different radio types.
Currently, only UHD is supported however additional drivers are under development:

Note

We recommended the LTS version of UHD, i.e. either 3.15 or 4.0.


Clone and Build

First, clone the srsRAN Project repository:

git clone https://github.com/srsRAN/srsRAN_Project.git

Then build the code-base:

cd srsRAN_Project
mkdir build
cd build
cmake ../
make -j $(nproc)
make test -j $(nproc)

You can now run the gNB from srsRAN_Project/build/apps/gnb/. If you wish to install the srsRAN Project gNB, you can use the following command:

sudo make install

The Running srsRAN Project section of the documentation further discusses how to configure and run the gNB application.


Packages

srsRAN Project is available to download directly from packages for various linux distributions. Users looking for a simple installation who do not wish to edit the source code should use the package installation.

Ubuntu

Ubuntu users can download the srsRAN Project packages using the following commands:

sudo add-apt-repository ppa:softwareradiosystems/srsran-project
sudo apt-get update
sudo apt-get install srsran-project -y

The application can then be run with the:

sudo gnb -c <config file>

Arch Linux

Arch Linux users can download the srsRAN Project packages using an AUR helper, e.g. ‘yay’, using the following command:

yay -Sy srsran-project-git

This will build and install the latest version of srsRAN Project from git.

When installed from packages srsRAN Project example configs can be found in /usr/share/srsran. For info on these config files, see here


PHY testvectors

A number of PHY tests are based on MATLAB generated testvectors. By default, those tests are disabled. The following steps are required to enable them:

  1. Download the PHY testvector set.

  2. Copy the PHY testvectors to its location within srsRAN:

tar -xzf phy_testvectors.tar.gz -C /path_to_your_local_repository/srsgnb/
  1. Enable the use of PHY testvectors by modifying the root CMakeLists.txt as shown below:

option(USE_PHY_TESTVECTORS   "Enable testvector PHY tests"              ON)
  1. Rebuild srsRAN Project.