Installation Guide

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

  1. Install dependencies

  2. Install RF driver (only required for Split 8 deployments)

  3. Clone the repository

  4. Build the codebase


Note

srsRAN Project requires a Linux-based OS, we recommend Ubuntu (22.04 or later).

Build Tools and Dependencies

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

srsRAN Project has the following necessary dependencies:

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

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

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

Note

UHD and/or ZMQ are only required for Split 8 deployments, if you are planning on using a Split 7.2 deployment you may skip this step.

srsRAN Project uses RF drivers to support different radio types. Currently, only UHD and ZMQ are supported:

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

  • ZMQ


Clone and Build

srsRAN Project can be built with certain features enabled or disabled. This is done during the build process by using CMake flags and/or by downloading third party dependencies prior to building the code. The following sections outline these various build options.

First, clone 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 srsRAN Project, you can use the following command:

sudo make install

The Running srsRAN 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 users can download 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

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

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

The application can then be run using:

sudo gnb -c <config file>

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 latest PHY testvector set.

  2. Extract the PHY testvectors to their location within the srsRAN working directory:

tar -xf phy_testvectors.tar -C /path_to_your_local_repository/srsRAN_Project
  1. Enable the use of the PHY testvectors by regenerating the CMake build system:

cmake -B build -DUSE_PHY_TESTVECTORS=ON
  1. Rebuild srsRAN Project.