Currently, the only available installation method is by compiling from source locally or within a Docker container environment. Other methods such as binary packages and PyBOMBS will be provided in the future.
To build from source, make sure to install the build dependencies first. After that, run:
git clone --recursive https://github.com/igorauad/gr-dvbs2rx.git
cd gr-dvbs2rx/
mkdir build
cd build
cmake ..
make
Next, test the built binaries by running:
ctest
Finally, install by executing:
sudo make install
sudo ldconfig
A Dockerfile is available with a recipe for a Ubuntu-based Docker image featuring GNU Radio and gr-dvbs2rx. To build it, run:
docker build -t gr-dvbs2rx .
When compiling from source, the CMake build can be customized by the following options:
-
BENCHMARK_CPU
: when set to ON, builds an application for CPU benchmarking of selected functions. The application becomes available atbench/cpu/bench_cpu
relative to the build directory. This feature requires the libbenchmark library. -
BENCHMARK_FEC
: when set to ON, builds an application to assess the performance of various forward error correction (FEC) configurations. The current implementation focuses on the PLSC decoder and yields thebench_plsc
application at thebench/fec/
subdirectory of the build directory. This option requires the AFF3CT library (version 3.0.0 or later). -
DEBUG_LOGS
: when set to OFF, disables the low-level logs available by default to debug the physical layer operation. -
NATIVE_OPTIMIZATIONS
: when set to ON (default), compiles the dvbs2rx library using the-march=native
flag to enable optimizations for the local CPU. Use this option to obtain improved CPU performance, as long as your goal is to run the project on the same machine used for compilation. Set this option to OFF if compiling binaries to run on other CPUs.
Note the build options must be specified on the
cmake
step. For example, for an option namedMYOPTION
, append either-DMYOPTION=ON
or-DMYOPTION=OFF
to thecmake ..
step.
Fedora:
dnf install \
cmake \
doxygen \
fftw-devel \
gmp-devel \
gnuradio-devel \
graphviz \
libsndfile-devel \
pybind11-devel \
python3-packaging \
spdlog-devel
Ubuntu/Debian:
apt install \
cmake \
doxygen \
gnuradio-dev \
graphviz \
libsndfile1-dev \
libspdlog-dev \
pkg-config \
pybind11-dev \
python3-packaging
Prev: Supported Modes - Next: Usage