Report preparation
What happened?
I tried compiling 0.9.3 on Linux Mint after a git pull and ran into a missing library qt6-websockets-dev. After installing it compiled ok. Google Gemini suggested a change to MainWindow.cpp as shown below in the query I made to help me get it to compile:
It looks like the latest update to AetherSDR introduced a dependency on Qt6 WebSockets for the new "FreeDV Reporter" feature. Because your system is missing that specific development library, the build system is disabling the feature, but the code in MainWindow.cpp isn't properly "guarded" to handle its absence, leading to the compilation errors you're seeing.
Specifically, the compiler is complaining that m_freedvClient was not declared.
The Fix: Install the missing dependency
The most direct way to fix this on Linux Mint (or Ubuntu/Debian) is to install the Qt6 WebSockets development package. Run the following command in your terminal:
Bash
sudo apt update
sudo apt install qt6-websockets-dev
After installing:
Clear your CMake cache to make sure it picks up the new library:
Bash
rm -rf build/*
Re-run the build:
Bash
cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=RelWithDebInfo
cmake --build build -j$(nproc)
Why it failed
If you look at your initial cmake output, there is a smoking gun:
-- Qt6::WebSockets not found — FreeDV Reporter spot source disabled
The AetherSDR developers likely added code to MainWindow.cpp that assumes m_freedvClient always exists, or they forgot to wrap the new code in an #ifdef HAVE_QUICK_WEBSOCKETS (or similar) block. When CMake failed to find the library, it didn't define the necessary macro, the variable was never declared in the header, but the .cpp file tried to use it anyway.
Other missing items (Optional)
While not causing the build to crash, your output shows a few other missing pieces you might want to grab for a "complete" build:
OpenSSL: For encrypted MQTT and SmartLink.
sudo apt install libssl-dev
HIDAPI: For USB hardware controllers/encoders.
sudo apt install libhidapi-dev
XKB: For advanced keyboard handling.
sudo apt install libxkbcommon-dev
Note: You also noticed a warning about implicit capture of ‘this’ via ‘[=]’ is deprecated. You can safely ignore those; they are just "modern C++" warnings to the developers that they should be more explicit in their lambda captures, but they won't stop the build from succeeding.
What did you expect?
Compile after missing library added to Linux, which it did but more suggestions from Google Gemini indicate a possible change to MainWindow.cpp
Steps to reproduce
- git pull latest code on Linux Mint
- Attempt to compile
- Compilation failed initially with missing library
AetherSDR version
0.9.3
Radio model & firmware
Flex 6600 4.218
Operating system
Linux
OS version and hardware
Linux Mint 22.1
Report preparation
What happened?
I tried compiling 0.9.3 on Linux Mint after a git pull and ran into a missing library qt6-websockets-dev. After installing it compiled ok. Google Gemini suggested a change to MainWindow.cpp as shown below in the query I made to help me get it to compile:
It looks like the latest update to AetherSDR introduced a dependency on Qt6 WebSockets for the new "FreeDV Reporter" feature. Because your system is missing that specific development library, the build system is disabling the feature, but the code in MainWindow.cpp isn't properly "guarded" to handle its absence, leading to the compilation errors you're seeing.
Specifically, the compiler is complaining that m_freedvClient was not declared.
The Fix: Install the missing dependency
The most direct way to fix this on Linux Mint (or Ubuntu/Debian) is to install the Qt6 WebSockets development package. Run the following command in your terminal:
Bash
sudo apt update
sudo apt install qt6-websockets-dev
After installing:
Why it failed
If you look at your initial cmake output, there is a smoking gun:
The AetherSDR developers likely added code to MainWindow.cpp that assumes m_freedvClient always exists, or they forgot to wrap the new code in an #ifdef HAVE_QUICK_WEBSOCKETS (or similar) block. When CMake failed to find the library, it didn't define the necessary macro, the variable was never declared in the header, but the .cpp file tried to use it anyway.
Other missing items (Optional)
While not causing the build to crash, your output shows a few other missing pieces you might want to grab for a "complete" build:
Note: You also noticed a warning about implicit capture of ‘this’ via ‘[=]’ is deprecated. You can safely ignore those; they are just "modern C++" warnings to the developers that they should be more explicit in their lambda captures, but they won't stop the build from succeeding.
What did you expect?
Compile after missing library added to Linux, which it did but more suggestions from Google Gemini indicate a possible change to MainWindow.cpp
Steps to reproduce
AetherSDR version
0.9.3
Radio model & firmware
Flex 6600 4.218
Operating system
Linux
OS version and hardware
Linux Mint 22.1