The build was tested and verified on Ubuntu 20.04 LTS (64 bit).
sudo apt update
sudo apt install ssh g++ git libboost-atomic-dev libboost-thread-dev libboost-system-dev libboost-date-time-dev libboost-regex-dev libboost-filesystem-dev libboost-random-dev libboost-chrono-dev libboost-serialization-dev libwebsocketpp-dev openssl libssl-dev ninja-build libspdlog-dev libmbedtls-dev libboost-all-dev libconfig++-dev libsctp-dev libfftw3-dev vim libcpprest-dev libusb-1.0-0-dev net-tools smcroute python3-pip clang-tidy gpsd gpsd-clients libgps-dev
sudo snap install cmake --classic
sudo pip3 install cpplint
Lime Suite needs to be built from source at a specific commit. Please follow these steps to do so:
cd ~
git clone https://github.com/myriadrf/LimeSuite.git
cd LimeSuite/
git checkout 28031bfcffe1e8fa393c7db88d4fe370fb4c67ea
mkdir buildir
cd buildir
cmake -G Ninja ..
ninja
sudo ninja install
sudo ldconfig
cd ~
git clone --recurse-submodules [email protected]:Austrian-Broadcasting-Services/obeca-receive-process.git
cd obeca-receive-process
git submodule update
mkdir build && cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr -GNinja ..
Alternatively, to configure a debug build:
cmake -DCMAKE_INSTALL_PREFIX=/usr -GNinja -DCMAKE_BUILD_TYPE=Debug ..
ninja
sudo ninja install
The application installs a systemd unit and some helper scripts for setting up the TUN network interface and multicast routing.
Create a user named "ofr" for correct pre-configuration of receive process: sudo useradd ofr
To start the application as a background daemon:
sudo systemctl start rp
To enable automatic start at each boot:
sudo systemctl enable rp
To set up networking and multicast routing, it's easiest to run the application though systemd once:
sudo systemctl start rp
sudo systemctl stop rp
To allow the application to run at realtime scheduling without superuser privileges, set its capabilites
accordingly. Alternatively, you can run it with superuser rights (sudo ./rp
).
sudo setcap 'cap_sys_nice=eip' ./rp
After this, you can start rp manually from the build directory created in the prvious step, e.g.:
./rp -l 2
For available command line parameters, please see:
./rp --help