Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Building on Linux Mint (Ubuntu 24.04) fails due to QAudioSink #818

Open
andimik opened this issue Oct 16, 2024 · 1 comment
Open

Building on Linux Mint (Ubuntu 24.04) fails due to QAudioSink #818

andimik opened this issue Oct 16, 2024 · 1 comment

Comments

@andimik
Copy link
Contributor

andimik commented Oct 16, 2024

I'm running Linux Mint which is based on Ubuntu 24.04.

Due to the fact that the AppImage does not work, I wanted to build it (both master and next branch) from sources (both with qmake and QtCreator), but it seem I needed to install some additional packages (which are not mentioned on your Readme, obviously), otherwise I get the following error:

make
cd src/welle-gui/ && ( test -e Makefile || /usr/lib/qt5/bin/qmake -o Makefile /home/andreas/apps/welle.io/src/welle-gui/welle-gui.pro ) && make -f Makefile 
Project MESSAGE: Current git hash = 6a1adf03
Project MESSAGE: BUILD_DATE = 1728505781
Project ERROR: Unknown module(s) in QT: quick qml charts multimedia
make: *** [Makefile:47: sub-src-welle-gui-make_first] Error 3

sudo apt install qtdeclarative5-dev qtmultimedia5-dev libqt5charts5-dev

But then I got the error:

In file included from ../../../src/welle-gui/radio_controller.h:45,
                 from ../../../src/welle-gui/main.cpp:44:
../../../src/welle-gui/audio_output.h:36:10: fatal error: QAudioSink: No such file or directory
   36 | #include <QAudioSink>
      |          ^~~~~~~~~~~~
compilation terminated.
make[1]: *** [Makefile:1256: main.o] Error 1
make[1]: Leaving directory '/home/andreas/apps/welle.io/build/src/welle-gui'
make: *** [Makefile:47: sub-src-welle-gui-make_first] Error 2

see https://doc.qt.io/qt-6/qaudiosink.html

The funny thing is, that this line is from 2022 (see https://github.com/AlbrechtL/welle.io/blame/a910d9d2f8116aa84d476eb39efa1c24ccb4b429/src/welle-gui/audio_output.h#L36 ) and I remember I could build it on my previous Ubuntu installation.

Then I checked if there is a file already on my system:

andreas@E535:/usr/include/x86_64-linux-gnu/qt6/QtMultimedia$ ls -l | grep QAudioSink
-rw-r--r-- 1 root root   24 Dec 12  2022 QAudioSink

If you need that:

qt6-multimedia-dev is already the newest version (6.4.2-11build3).
@andimik
Copy link
Contributor Author

andimik commented Oct 16, 2024

BTW: I could build it with cmake, but then the app is only visible as icon in the start menu.

andreas@E535:~/apps/welle.io/build$ make
[  1%] Built target welle-io_qmlimportscan
[  1%] Built target welle-io_autogen_timestamp_deps
[  3%] Automatic MOC for target welle-io
[  3%] Built target welle-io_autogen
[  5%] Generating qrc_resources.cpp
[  7%] Building CXX object CMakeFiles/welle-io.dir/welle-io_autogen/mocs_compilation.cpp.o
[  9%] Building CXX object CMakeFiles/welle-io.dir/src/welle-gui/main.cpp.o
[ 11%] Building CXX object CMakeFiles/welle-io.dir/src/welle-gui/audio_output.cpp.o
[ 12%] Building CXX object CMakeFiles/welle-io.dir/src/welle-gui/mot_image_provider.cpp.o
[ 14%] Building CXX object CMakeFiles/welle-io.dir/src/welle-gui/gui_helper.cpp.o
[ 16%] Building CXX object CMakeFiles/welle-io.dir/src/welle-gui/radio_controller.cpp.o
/home/andreas/apps/welle.io/src/welle-gui/radio_controller.cpp: In member function 'void CRadioController::initialise()':
/home/andreas/apps/welle.io/src/welle-gui/radio_controller.cpp:609:21: warning: loop variable 'param_value' creates a copy from type 'const std::pair<const DeviceParam, std::__cxx11::basic_string<char> >' [-Wrange-loop-construct]
  609 |     for (const auto param_value : deviceParametersString) {
      |                     ^~~~~~~~~~~
/home/andreas/apps/welle.io/src/welle-gui/radio_controller.cpp:609:21: note: use reference type to prevent copying
  609 |     for (const auto param_value : deviceParametersString) {
      |                     ^~~~~~~~~~~
      |                     &
[ 18%] Building CXX object CMakeFiles/welle-io.dir/src/welle-gui/debug_output.cpp.o
[ 20%] Building CXX object CMakeFiles/welle-io.dir/src/welle-gui/waterfallitem.cpp.o
[ 22%] Building CXX object CMakeFiles/welle-io.dir/src/welle-gui/mpris/mpris.cpp.o
[ 24%] Building CXX object CMakeFiles/welle-io.dir/src/welle-gui/mpris/mpris_mp2.cpp.o
[ 25%] Building CXX object CMakeFiles/welle-io.dir/src/welle-gui/mpris/mpris_mp2_player.cpp.o
[ 27%] Building CXX object CMakeFiles/welle-io.dir/qrc_resources.cpp.o
[ 29%] Building CXX object CMakeFiles/welle-io.dir/src/backend/dab-audio.cpp.o
[ 31%] Building CXX object CMakeFiles/welle-io.dir/src/backend/decoder_adapter.cpp.o
[ 33%] Building CXX object CMakeFiles/welle-io.dir/src/backend/dab_decoder.cpp.o
[ 35%] Building CXX object CMakeFiles/welle-io.dir/src/backend/dabplus_decoder.cpp.o
[ 37%] Building CXX object CMakeFiles/welle-io.dir/src/backend/charsets.cpp.o
[ 38%] Building CXX object CMakeFiles/welle-io.dir/src/backend/dab-constants.cpp.o
[ 40%] Building CXX object CMakeFiles/welle-io.dir/src/backend/mot_manager.cpp.o
[ 42%] Building CXX object CMakeFiles/welle-io.dir/src/backend/pad_decoder.cpp.o
[ 44%] Building CXX object CMakeFiles/welle-io.dir/src/backend/eep-protection.cpp.o
[ 46%] Building CXX object CMakeFiles/welle-io.dir/src/backend/fib-processor.cpp.o
/home/andreas/apps/welle.io/src/backend/fib-processor.cpp: In member function 'int16_t FIBProcessor::HandleFIG0Extension8(uint8_t*, int16_t, uint8_t)':
/home/andreas/apps/welle.io/src/backend/fib-processor.cpp:459:17: warning: unused variable 'SCid' [-Wunused-variable]
  459 |         int16_t SCid = getBits(d, lOffset + 4, 12);
      |                 ^~~~
/home/andreas/apps/welle.io/src/backend/fib-processor.cpp:466:17: warning: unused variable 'SubChId' [-Wunused-variable]
  466 |         int16_t SubChId = getBits_6(d, lOffset + 4);
      |                 ^~~~~~~
[ 48%] Building CXX object CMakeFiles/welle-io.dir/src/backend/fic-handler.cpp.o
[ 50%] Building CXX object CMakeFiles/welle-io.dir/src/backend/msc-handler.cpp.o
[ 51%] Building CXX object CMakeFiles/welle-io.dir/src/backend/freq-interleaver.cpp.o
[ 53%] Building CXX object CMakeFiles/welle-io.dir/src/backend/ofdm-decoder.cpp.o
[ 55%] Building CXX object CMakeFiles/welle-io.dir/src/backend/ofdm-processor.cpp.o
[ 57%] Building CXX object CMakeFiles/welle-io.dir/src/backend/phasereference.cpp.o
[ 59%] Building CXX object CMakeFiles/welle-io.dir/src/backend/phasetable.cpp.o
[ 61%] Building CXX object CMakeFiles/welle-io.dir/src/backend/tii-decoder.cpp.o
[ 62%] Building CXX object CMakeFiles/welle-io.dir/src/backend/protTables.cpp.o
[ 64%] Building CXX object CMakeFiles/welle-io.dir/src/backend/radio-receiver.cpp.o
[ 66%] Building CXX object CMakeFiles/welle-io.dir/src/backend/tools.cpp.o
[ 68%] Building CXX object CMakeFiles/welle-io.dir/src/backend/uep-protection.cpp.o
[ 70%] Building CXX object CMakeFiles/welle-io.dir/src/backend/viterbi.cpp.o
[ 72%] Building CXX object CMakeFiles/welle-io.dir/src/various/Socket.cpp.o
[ 74%] Building CXX object CMakeFiles/welle-io.dir/src/various/Xtan2.cpp.o
[ 75%] Building CXX object CMakeFiles/welle-io.dir/src/various/channels.cpp.o
/home/andreas/apps/welle.io/src/various/channels.cpp: In member function 'std::string Channels::getChannelForFrequency(int)':
/home/andreas/apps/welle.io/src/various/channels.cpp:229:21: warning: loop variable 'c_f' creates a copy from type 'const std::pair<const std::__cxx11::basic_string<char>, int>' [-Wrange-loop-construct]
  229 |     for (const auto c_f : frequencyMap) {
      |                     ^~~
/home/andreas/apps/welle.io/src/various/channels.cpp:229:21: note: use reference type to prevent copying
  229 |     for (const auto c_f : frequencyMap) {
      |                     ^~~
      |                     &
[ 77%] Building CXX object CMakeFiles/welle-io.dir/src/various/fft.cpp.o
[ 79%] Building CXX object CMakeFiles/welle-io.dir/src/various/profiling.cpp.o
[ 81%] Building C object CMakeFiles/welle-io.dir/src/various/wavfile.c.o
[ 83%] Building C object CMakeFiles/welle-io.dir/src/libs/fec/decode_rs_char.c.o
[ 85%] Building C object CMakeFiles/welle-io.dir/src/libs/fec/encode_rs_char.c.o
[ 87%] Building C object CMakeFiles/welle-io.dir/src/libs/fec/init_rs_char.c.o
[ 88%] Building CXX object CMakeFiles/welle-io.dir/src/input/input_factory.cpp.o
[ 90%] Building CXX object CMakeFiles/welle-io.dir/src/input/null_device.cpp.o
[ 92%] Building CXX object CMakeFiles/welle-io.dir/src/input/raw_file.cpp.o
[ 94%] Building CXX object CMakeFiles/welle-io.dir/src/input/rtl_tcp.cpp.o
/home/andreas/apps/welle.io/src/input/rtl_tcp.cpp: In member function 'void CRTL_TCP_Client::networkBufferCopy()':
/home/andreas/apps/welle.io/src/input/rtl_tcp.cpp:518:19: warning: unused variable 'bufferFill' [-Wunused-variable]
  518 |             float bufferFill = (float) sampleNetworkBuffer.GetRingBufferReadAvailable() / sampleNetworkBuffer.GetBufferSize() * 100;
      |                   ^~~~~~~~~~
[ 96%] Building CXX object CMakeFiles/welle-io.dir/src/input/airspy_sdr.cpp.o
[ 98%] Linking CXX executable welle-io
[100%] Built target welle-io
andreas@E535:~/apps/welle.io/build$ ./welle-io      
2024-10-17T00:49:33.010 Debug: main: Platform name "xcb"
2024-10-17T00:49:33.010 Debug: main: Set language "C"
2024-10-17T00:49:33.010 Debug: main: Error while loading language "C" use untranslated text (ie. English)
2024-10-17T00:49:33.051 Debug: Audio: Current sound output "Built-in Audio Analog Stereo"
2024-10-17T00:49:33.274 Warning: QQmlApplicationEngine failed to load component
2024-10-17T00:49:33.274 Warning: qrc:/QML/MainView.qml:106:5: Settings is not a type

CMakeCache.txt

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant