Problems building 5.6.2 on Raspberry Pi 5 with Raspbian 12 (Debian Bookworm)
-
Hi and welcome to devnet,
Might be a silly question but did you do a cleanup before reconfiguring ?
Also, please use out of source builds, it makes things way easier.
-
I did a "make clean", is that enough?
-
I cleared everything, unpacked the source tar fresh and created a BUILD directory and started the build over. Make crashes at the same place.
-
I tried with -no-xcb, but now make is failing here:
make[7]: Entering directory '/home/heller/qt-everywhere-opensource-src-5.6.2/BUILD/qtbase/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_egldevice' g++ -c -pipe -O2 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden -fno-exceptions -Wall -W -D_REENTRANT -fPIC -DQT_NO_MTDEV -DQT_NO_TSLIB -DQT_NO_LIBINPUT -DMESA_EGL_NO_X11_HEADERS -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_PLUGIN -DQT_EGLFS_DEVICE_LIB_LIB -DQT_PLATFORMSUPPORT_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I/home/heller/qt-everywhere-opensource-src-5.6.2/qtbase/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_egldevice -I. -I/home/heller/qt-everywhere-opensource-src-5.6.2/qtbase/src/plugins/platforms/eglfs -I/home/heller/qt-everywhere-opensource-src-5.6.2/qtbase/include -I../../../../../../include -I/home/heller/qt-everywhere-opensource-src-5.6.2/qtbase/include/QtPlatformSupport -I/home/heller/qt-everywhere-opensource-src-5.6.2/qtbase/include/QtPlatformSupport/5.6.2 -I/home/heller/qt-everywhere-opensource-src-5.6.2/qtbase/include/QtPlatformSupport/5.6.2/QtPlatformSupport -I../../../../../../include/QtPlatformSupport -I/home/heller/qt-everywhere-opensource-src-5.6.2/qtbase/include/QtGui/5.6.2 -I/home/heller/qt-everywhere-opensource-src-5.6.2/qtbase/include/QtGui/5.6.2/QtGui -I/home/heller/qt-everywhere-opensource-src-5.6.2/qtbase/include/QtGui -I../../../../../../include/QtGui -I/home/heller/qt-everywhere-opensource-src-5.6.2/qtbase/include/QtCore/5.6.2 -I/home/heller/qt-everywhere-opensource-src-5.6.2/qtbase/include/QtCore/5.6.2/QtCore -I/home/heller/qt-everywhere-opensource-src-5.6.2/qtbase/include/QtCore -I../../../../../../include/QtCore -I.moc -I/home/heller/qt-everywhere-opensource-src-5.6.2/qtbase/mkspecs/linux-g++ -o .obj/qeglfskmsegldevicemain.o /home/heller/qt-everywhere-opensource-src-5.6.2/qtbase/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_egldevice/qeglfskmsegldevicemain.cpp In file included from /home/heller/qt-everywhere-opensource-src-5.6.2/qtbase/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_egldevice/qeglfskmsegldeviceintegration.h:49, from /home/heller/qt-everywhere-opensource-src-5.6.2/qtbase/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_egldevice/qeglfskmsegldevicemain.cpp:34: /usr/include/xf86drm.h:40:10: fatal error: drm.h: No such file or directory 40 | #include <drm.h> -
Might be a silly question but are you sure you installed all development dependencies ?
-
I think so. drm.h is actually installed:
marchhare% locate drm.h|grep '/drm.h$' /usr/include/drm/drm.h /usr/include/libdrm/drm.h /usr/src/linux-headers-6.12.75+rpt-common-rpi/include/uapi/drm/drm.h /usr/src/linux-headers-6.12.93+rpt-common-rpi/include/uapi/drm/drm.h marchhare% dpkg-query -S /usr/include/drm/drm.h linux-libc-dev: /usr/include/drm/drm.h marchhare% marchhare% dpkg-query -S /usr/include/libdrm/drm.h libdrm-dev:arm64: /usr/include/libdrm/drm.h marchhare% dpkg-query -S /usr/src/linux-headers-6.12.75+rpt-common-rpi/include/uapi/drm/drm.h linux-headers-6.12.75+rpt-common-rpi: /usr/src/linux-headers-6.12.75+rpt-common-rpi/include/uapi/drm/drm.h marchhare% dpkg-query -S /usr/src/linux-headers-6.12.93+rpt-common-rpi/include/uapi/drm/drm.h linux-headers-6.12.93+rpt-common-rpi: /usr/src/linux-headers-6.12.93+rpt-common-rpi/include/uapi/drm/drm.hI don't know what is missing...
The configure script completed without problems -- wouldn't it crash if something essentual was missing?
-
Wondering: should the build statement include
-I/usr/include/libdrm:marchhare% pkg-config libdrm --cflags-only-I -I/usr/include/libdrmIt doesn't. This would explain the problem. This suggests that there is a problem in the configure script or configure tests or the Makefiles (or the generation of the Makefiles).
-
I edited the Makefile and added
-I/usr/include/libdrmto the INCPATH and that cured things.,, -
OK, now the build creashes here:
/home/heller/qt-everywhere-opensource-src-5.6.2/qtserialbus/src/plugins/canbus/socketcan/socketcanbackend.cpp: In member function ‘void SocketCanBackend::readSocket()’: /home/heller/qt-everywhere-opensource-src-5.6.2/qtserialbus/src/plugins/canbus/socketcan/socketcanbackend.cpp:594:30: error: ‘SIOCGSTAMP’ was not declared in this scope; did you mean ‘SIOCGRARP’? 594 | if (ioctl(canSocket, SIOCGSTAMP, &timeStamp) < 0) { | ^~~~~~~~~~ | SIOCGRARP make[5]: *** [Makefile:950: .obj/socketcanbackend.o] Error 1 -
I edited socketcanbackend.cpp to include the missing include file (<linux/sockios.h>) and compiling is proceding...