Skip to content

Build broken on Debian 12 (bookworm) #404

@Tjoppen

Description

@Tjoppen

Build instructions appear completely non-existent, but I have installed deps to the best of my abilities, including apt build-dep qtbase5-dev qt5-qmake. Building per build_lin results in an infinite loop (see #402):

$ qmake -config release "CONFIG += release_lin build_original"
Project MESSAGE: This project is using private headers and will therefore be tied to this specific Qt module build version.
Project MESSAGE: Running this project against other versions of the Qt modules may crash at any arbitrary point.
Project MESSAGE: This is not a bug, but a result of using Qt internals. You have been warned!
WARNING: Failure to find: res/firmwares/res_fw.qrc
/usr/lib/qt5/bin/rcc: File does not exist 'res/firmwares/res_fw.qrc'
$ make
/usr/lib/qt5/bin/qmake -o Makefile vesc_tool.pro -config release 'CONFIG += release_lin build_original'
Project MESSAGE: This project is using private headers and will therefore be tied to this specific Qt module build version.
Project MESSAGE: Running this project against other versions of the Qt modules may crash at any arbitrary point.
Project MESSAGE: This is not a bug, but a result of using Qt internals. You have been warned!
WARNING: Failure to find: res/firmwares/res_fw.qrc
/usr/lib/qt5/bin/rcc: File does not exist 'res/firmwares/res_fw.qrc'
/usr/lib/qt5/bin/qmake -o Makefile vesc_tool.pro -config release 'CONFIG += release_lin build_original'
Project MESSAGE: This project is using private headers and will therefore be tied to this specific Qt module build version.
Project MESSAGE: Running this project against other versions of the Qt modules may crash at any arbitrary point.
Project MESSAGE: This is not a bug, but a result of using Qt internals. You have been warned!
WARNING: Failure to find: res/firmwares/res_fw.qrc
[etc]

Clearly res/firmwares/res_fw.qrc is missing. Running qmake with exclude_fw gets the build a bit further:

$ qmake -config release "CONFIG += release_lin build_original exclude_fw"
[...]
$ make
[...]
make: *** No rule to make target 'res/firmwares_esp/ESP32-C3/Express Plus/partition-table.bin', needed by 'build/lin/obj/qrc_res_fw_esp.o'.  Stop.

If I do make -k to have the build keep going despite this I get a bit further, but lots of files fail due to qplatformwindow.h not existing:

$ make -k
make: *** No rule to make target 'res/firmwares_esp/ESP32-C3/Express Plus/partition-table.bin', needed by 'build/lin/obj/qrc_res_fw_esp.o'.
make: *** No rule to make target 'res/firmwares_esp/ESP32-C3/Express Plus/bootloader.bin', needed by 'build/lin/obj/qrc_res_fw_esp.o'.
make: *** No rule to make target 'res/firmwares_esp/ESP32-C3/Express Plus/vesc_express.bin', needed by 'build/lin/obj/qrc_res_fw_esp.o'.
g++ -c -pipe -Wno-deprecated-copy -O2 -std=gnu++11 -D_REENTRANT -fPIC -DVT_VERSION=6.06 -DVT_INTRO_VERSION=1 -DVT_CONFIG_VERSION=4 -DVT_IS_TEST_VERSION=2 -DVT_GIT_COMMIT=aa2da669 -DHAS_BLUETOOTH -DHAS_POS -DHAS_SERIALPORT -DHAS_GAMEPAD -DVER_ORIGINAL -DQT_NO_DEBUG -DQT_PRINTSUPPORT_LIB -DQT_QUICKWIDGETS_LIB -DQT_SVG_LIB -DQT_WIDGETS_LIB -DQT_QUICKCONTROLS2_LIB -DQT_QUICK_LIB -DQT_GAMEPAD_LIB -DQT_GUI_LIB -DQT_QMLMODELS_LIB -DQT_QML_LIB -DQT_NETWORK_LIB -DQT_SERIALPORT_LIB -DQT_BLUETOOTH_LIB -DQT_POSITIONING_LIB -DQT_CORE_LIB -I. -IQCodeEditor/include -Iqmarkdowntextedit -Iqmarkdowntextedit -Iqmarkdowntextedit -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtPrintSupport -I/usr/include/x86_64-linux-gnu/qt5/QtQuickWidgets -I/usr/include/x86_64-linux-gnu/qt5/QtSvg -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/x86_64-linux-gnu/qt5/QtQuickControls2 -I/usr/include/x86_64-linux-gnu/qt5/QtQuick -I/usr/include/x86_64-linux-gnu/qt5/QtGui/5.15.8 -I/usr/include/x86_64-linux-gnu/qt5/QtGui/5.15.8/QtGui -I/usr/include/x86_64-linux-gnu/qt5/QtGamepad -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/5.15.8 -I/usr/include/x86_64-linux-gnu/qt5/QtCore/5.15.8/QtCore -I/usr/include/x86_64-linux-gnu/qt5/QtSerialPort -I/usr/include/x86_64-linux-gnu/qt5/QtBluetooth -I/usr/include/x86_64-linux-gnu/qt5/QtPositioning -I/usr/include/x86_64-linux-gnu/qt5/QtCore -Ibuild/lin/obj -Ibuild/lin/obj -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++ -o build/lin/obj/main.o main.cpp
In file included from mobile/qmlui.h:27:0,
                 from mainwindow.h:32,
                 from main.cpp:20:
./utility.h:27:39: fatal error: QtGui/qpa/qplatformwindow.h: No such file or directory
 #include <QtGui/qpa/qplatformwindow.h>
                                       ^
compilation terminated.
make: *** [Makefile:4377: build/lin/obj/main.o] Error 1

As far as I can tell, qplatformwindow.h is part of qt4, not qt5 nor qt6. It's certainly nowhere to be found under /usr/include/x86_64-linux-gnu with both libqt5gui5 and libqt6gui6 installed. Installing libqt5gui5-gles also didn't help.

Oh and the python package doesn't exist in bookworm, and both libgstreamer1.0-dev and libgstreamer-plugins-base1.0-dev refuse to install due to conflicts with libdw1, libdw1t64 and libelf-dev. In other words the following will packages least install on bookworm:

$ apt build-dep qtbase5-dev qt5-qmake
$ apt install libxcb-xinerama0-dev build-essential perl git "^libxcb.*" libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev flex bison gperf libicu-dev libxslt-dev ruby libssl-dev libxcursor-dev libxcomposite-dev libxdamage-dev libxrandr-dev libfontconfig1-dev libcap-dev libxtst-dev libpulse-dev libudev-dev libpci-dev libnss3-dev libasound2-dev libxss-dev libegl1-mesa-dev gperf bison libbz2-dev libgcrypt20-dev libdrm-dev libcups2-dev libatkmm-1.6-dev libasound2-dev libbluetooth-dev bluetooth blueman bluez libusb-dev libdbus-1-dev bluez-hcidump bluez-tools libbluetooth-dev libgles2-mesa-dev

I addition I also installed libqt5gamepad5-dev, libqt5serial* and libqt5blue* for gamepad, serialport and bluetooth respectively.

edit: oh and this is with current master (aa2da66).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions