c3d / db48x

RPL runtime for the DM42 calculator, in the spirit of HP48/49/50
http://48calc.org
GNU Lesser General Public License v3.0
90 stars 11 forks source link

Can't build simulator #1288

Closed jibanes closed 2 hours ago

jibanes commented 2 hours ago

Hello c3d,

Do you know what could cause this?

$ cd sim; make -f db48x.mak TARGET=db48x
make[1]: Entering directory '/home/jibanes/Downloads/c/db48x/sim'
gcc -c -pipe -g -Wall -Wextra -D_REENTRANT -fPIC -DSIMULATOR -DCONFIG_FIXED_BASED_OBJECTS -DDEBUG -D__packed= -DUSE_QT -DHELPFILE_NAME=\"help/db48x.md\" -DHELPINDEX_NAME=\"help/db48x.idx\" -DQT_QUICKCONTROLS2_LIB -DQT_QUICKWIDGETS_LIB -DQT_QUICK_LIB -DQT_WIDGETS_LIB -DQT_MULTIMEDIA_LIB -DQT_GUI_LIB -DQT_QMLMODELS_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -I../src/dm42 -I../src/dmcp -I../src -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtQuickControls2 -I/usr/include/x86_64-linux-gnu/qt5/QtQuickWidgets -I/usr/include/x86_64-linux-gnu/qt5/QtQuick -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/x86_64-linux-gnu/qt5/QtMultimedia -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtQmlModels -I/usr/include/x86_64-linux-gnu/qt5/QtQml -I/usr/include/x86_64-linux-gnu/qt5/QtNetwork -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I. -I. -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -o db48x-build/recorder.o ../recorder/recorder.c
g++ -c -pipe -g -Wall -Wextra -D_REENTRANT -fPIC -DSIMULATOR -DCONFIG_FIXED_BASED_OBJECTS -DDEBUG -D__packed= -DUSE_QT -DHELPFILE_NAME=\"help/db48x.md\" -DHELPINDEX_NAME=\"help/db48x.idx\" -DQT_QUICKCONTROLS2_LIB -DQT_QUICKWIDGETS_LIB -DQT_QUICK_LIB -DQT_WIDGETS_LIB -DQT_MULTIMEDIA_LIB -DQT_GUI_LIB -DQT_QMLMODELS_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -I../src/dm42 -I../src/dmcp -I../src -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtQuickControls2 -I/usr/include/x86_64-linux-gnu/qt5/QtQuickWidgets -I/usr/include/x86_64-linux-gnu/qt5/QtQuick -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/x86_64-linux-gnu/qt5/QtMultimedia -I/usr/include/x86_64-linux-gnu/qt5/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtQmlModels -I/usr/include/x86_64-linux-gnu/qt5/QtQml -I/usr/include/x86_64-linux-gnu/qt5/QtNetwork -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I. -I. -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -o db48x-build/sim-main.o sim-main.cpp
In file included from sim-main.cpp:34:
sim-window.h:40:10: fatal error: QAudioSink: No such file or directory
   40 | #include <QAudioSink>
      |          ^~~~~~~~~~~~
compilation terminated.
make[1]: *** [db48x.mak:682: db48x-build/sim-main.o] Error 1
make[1]: Leaving directory '/home/jibanes/Downloads/c/db48x/sim'
make: *** [Makefile:71: sim] Error 2

However I have qt5's multimedia installed:

ii  libqt5multimedia5:amd64                          5.15.8-2                                  amd64        Qt 5 Multimedia module
ii  libqt5multimedia5-plugins:amd64                  5.15.8-2                                  amd64        Qt 5 Multimedia module plugins
ii  libqt5multimediagsttools5:amd64                  5.15.8-2                                  amd64        GStreamer tools for  Qt 5 Multimedia module
ii  libqt5multimediaquick5:amd64                     5.15.8-2                                  amd64        Qt 5 Multimedia Quick module
ii  libqt5multimediawidgets5:amd64                   5.15.8-2                                  amd64        Qt 5 Multimedia Widgets module
jibanes commented 2 hours ago

Apparently it needs qt6 not qt5:

$ apt-file search "QAudioSink"
qt6-multimedia-dev: /usr/include/x86_64-linux-gnu/qt6/QtMultimedia/QAudioSink

$ qtchooser -install qt6 $(which qmake6) $ sudo apt-get install -y qt6-declarative-dev # apparently this is required too... $ make sim

works fine.