3.7 KiB
Building wfserver
wfserver is the command-line, headless server build of wfview. It exposes
a networked radio server (for only Icom radios at this time) without any GUI, and is
intended for always-on machines such as a Raspberry Pi or a small Linux
host located near the radio. It can also be compiled on a Microsoft Windows host, but that procedure is yet to be documented.
This document describes how to build and install wfserver on Ubuntu
22.04 LTS and Ubuntu 24.04 LTS. It may be adapted for use with other linux distributions.
Build dependencies
The table below lists every third-party library / toolchain component
required to build wfserver.pro, together with the
apt package name on each supported Ubuntu release.
| Dependency | Ubuntu 22.04 package | Ubuntu 24.04 package |
|---|---|---|
| C/C++ toolchain | build-essential | build-essential |
| Git | git | git |
| qmake / Qt build tool | qtchooser qt5-qmake | qmake6 |
| Qt Core / Widgets | qtbase5-dev | qt6-base-dev |
| Qt SerialPort | libqt5serialport5-dev | qt6-serialport-dev |
| Qt Network (in base) | qtbase5-dev | qt6-base-dev |
| Qt Multimedia | qtmultimedia5-dev | qt6-multimedia-dev |
| Qt PrintSupport | qtbase5-dev | qt6-base-dev |
| PulseAudio | libpulse-dev | libpulse-dev |
| RtAudio | librtaudio-dev | librtaudio-dev |
| Opus codec | libopus-dev | libopus-dev |
| Eigen (headers) | libeigen3-dev | libeigen3-dev |
| POSIX threads | libc6-dev (in build-essential) | libc6-dev (in build-essential) |
Install everything in one shot:
Ubuntu 22.04
sudo apt update
sudo apt install build-essential git qtchooser qt5-qmake \
qtbase5-dev libqt5serialport5-dev qtmultimedia5-dev \
libpulse-dev librtaudio-dev libopus-dev libeigen3-dev
Ubuntu 24.04
sudo apt update
sudo apt install build-essential git qmake6 \
qt6-base-dev qt6-serialport-dev qt6-multimedia-dev \
libpulse-dev librtaudio-dev libopus-dev libeigen3-dev
Get the source
Clone the wfview repository:
git clone https://gitlab.com/eliggett/wfview.git
Build
Create a build directory outside of the source tree, as a sibling
of the cloned wfview directory:
mkdir build-wfserver
cd build-wfserver
Run qmake against wfserver.pro, then make:
qmake ../wfview/wfserver.pro
make -j$(($(nproc)/2))
On Ubuntu 24.04, if qmake resolves to the Qt5 binary, use qmake6
instead:
qmake6 ../wfview/wfserver.pro
make -j$(($(nproc)/2))
Install
From the same build directory:
sudo make install
This installs the wfserver binary to /usr/local/bin/wfserver and
the radio definition files to /usr/local/share/wfview/rigs/. Set
PREFIX at qmake time if you want a different install prefix
(for example qmake PREFIX=/usr ../wfview/wfserver.pro).
First-time setup
After installation, run the interactive setup wizard to create the server configuration (radio model, serial port, network ports, usernames / passwords, etc.):
wfserver --setup
Once setup is complete, start the server normally:
wfserver