QT 5.4 & Qtwayland
-
I have successfully built QT 5.4 from the beta sources package and that is working fine.
Now I wanted to check soem of the apps i have with QtWayland.
when configuring qt for a cross build, i saw that wayland hadnt been detected
@Build options:
QPA backends:
DirectFB ............. no
EGLFS ................ yes
KMS .................. no
LinuxFB .............. yes
XCB .................. yes (system library)
EGL on X ........... no
GLX ................ yes
MIT-SHM ............ yes
Xcb-Xlib ........... yes
Xcursor ............ yes (loaded at runtime)
Xfixes ............. yes (loaded at runtime)
Xi ................. no
Xi2 ................ yes
Xinerama ........... yes (loaded at runtime)
Xrandr ............. yes (loaded at runtime)
Xrender ............ yes
XKB ................ no
XShape ............. yes
XSync .............. yes
XVideo ............. yes
@I have then tried to look into that and found a couple tutorials around to build qtwayland.
First thing i have noticed is that qtwayland is part of qt 5.4 as i can see.as most of the tutorial mention, i grabbed wayland repo and built wayland scanner doing
@ git clone git://anongit.freedesktop.org/wayland/wayland
cd wayland
./autogen.sh
./configure --disable-documentation
make
cp wayland-scanner /usr/local/qt5pi/bin
@Scanner seemed to be installed properly
@pi@ubuntu:~$ which wayland-scanner
/usr/local/bin/wayland-scanner
@then when i go to qtwayland subdirectory in qt sources and try qmake, here is what i'm getting :
@pi@ubuntu:~/opt/qt-everywhere-opensource-src-5.4.0-beta/qtwayland$ qmake
WARNING: /home/pi/opt/qt-everywhere-opensource-src-5.4.0-beta/qtwayland/qtwayland.pro:1: Unable to find file for inclusion configure
/home/pi/opt/qt-everywhere-opensource-src-5.4.0-beta/qtwayland/qtwayland.pro:2: Unknown test function: qtCompileTest
/home/pi/opt/qt-everywhere-opensource-src-5.4.0-beta/qtwayland/qtwayland.pro:3: Unknown test function: qtCompileTest
/home/pi/opt/qt-everywhere-opensource-src-5.4.0-beta/qtwayland/qtwayland.pro:4: Unknown test function: qtCompileTest
/home/pi/opt/qt-everywhere-opensource-src-5.4.0-beta/qtwayland/qtwayland.pro:5: Unknown test function: qtCompileTest
/home/pi/opt/qt-everywhere-opensource-src-5.4.0-beta/qtwayland/qtwayland.pro:6: Unknown test function: qtCompileTest
/home/pi/opt/qt-everywhere-opensource-src-5.4.0-beta/qtwayland/qtwayland.pro:7: Unknown test function: qtCompileTest
/home/pi/opt/qt-everywhere-opensource-src-5.4.0-beta/qtwayland/qtwayland.pro:8: Unknown test function: qtCompileTest
/home/pi/opt/qt-everywhere-opensource-src-5.4.0-beta/qtwayland/qtwayland.pro:9: Unknown test function: qtCompileTest
/home/pi/opt/qt-everywhere-opensource-src-5.4.0-beta/qtwayland/qtwayland.pro:10: Unknown test function: qtCompileTest
/home/pi/opt/qt-everywhere-opensource-src-5.4.0-beta/qtwayland/qtwayland.pro:11: Unknown test function: qtCompileTest
/home/pi/opt/qt-everywhere-opensource-src-5.4.0-beta/qtwayland/qtwayland.pro:12: Unknown test function: qtCompileTest
WARNING: /home/pi/opt/qt-everywhere-opensource-src-5.4.0-beta/qtwayland/qtwayland.pro:14: Unable to find file for inclusion qt_parts
Project WARNING: QtWayland requires Wayland 1.2.0 or higher, QtWayland will not be built
Project WARNING: No xkbcommon 0.2.0 or higher found, disabling support for it
Project WARNING: QtWayland requires wayland-scanner, QtWayland will not be built
Project WARNING: QtWayland requires wayland-cursor, QtWayland will not be built
Project MESSAGE: no wayland-egl support detected, cross-toolkit compatibility disabled
/home/pi/opt/qt-everywhere-opensource-src-5.4.0-beta/qtwayland/qtwayland.pro:36: Parse Error ('message("no wayland-egl support detected, cross-toolkit compatibility disabled");')
/home/pi/opt/qt-everywhere-opensource-src-5.4.0-beta/qtwayland/qtwayland.pro:36: Unterminated conditional block at end of file
Error processing project file: /home/pi/opt/qt-everywhere-opensource-src-5.4.0-beta/qtwayland/qtwayland.pro
@I haven't been able to find what is going wrong here. none of the tutorials i have checked come with any hint about it ...
If anyone can give me a couple hints that'd be awesome :)
-
Some follow up ...
I restarted my procedure from scratch following this link http://www.ics.com/blog/building-qt-5-raspberry-pi#.VFOdzfmG98E and getting sligntly different results :
- Qt 5.4 is build and installed
- I built wayland scanner as mentionned and both qmake and wayland-scanner are pointing to qt5pi/bin directory (checked with which).
Now i go to qt-everywhere-opensource-src-5.4.0-beta/qtwayland (which is suppose is the same as the qtwaylend repo as mentionned in the tutorial above.
when i run qmake there i'm getting :
@
pi@ubuntu:~/opt/qt-everywhere-opensource-src-5.4.0-beta/qtwayland$ qmake
Project WARNING: QtWayland requires Wayland 1.2.0 or higher, QtWayland will not be built
Project WARNING: No xkbcommon 0.2.0 or higher found, disabling support for it
Project WARNING: QtWayland requires wayland-scanner, QtWayland will not be built
Project WARNING: QtWayland requires wayland-cursor, QtWayland will not be built
Project MESSAGE: no wayland-egl support detected, cross-toolkit compatibility disabled
@It seems that some dependencies are missing, although i have installed on the cross compiling VM the dependencies that were suppsoed ot be required :
@
$ sudo apt-get install libxcb1 libxcb1-dev libx11-xcb1 libx11-xcb-dev libxcb-keysyms1 libxcb-keysyms1-dev libxcb-image0 libxcb-image0-dev libxcb-shm0 libxcb-shm0-dev libxcb-icccm4 libxcb-icccm4-dev libxcb-sync0 libxcb-sync0-dev libxcb-render-util0 libxcb-render-util0-dev libxcb-xfixes0-dev libxrender-dev libxcb-shape0-dev libxcb-randr0-dev libxcb-glx0-dev$ sudo apt-get install libxkbcommon-dev libudev-dev libwayland-dev libpng12-dev libjpeg8-dev libmtdev-dev autotools-dev autoconf automake bison flex libasound2-dev libxext-dev x11proto-xext-dev libxcursor-dev libxfixes-dev x11proto-fixes-dev libffi-dev libsm-dev libxcomposite-dev
@I'm so close to get it build ... kinda frustrating ... any hint is welcome ;)
-
Hi,
To cross-compile you need the dependencies for your target architecture. If you are using your Pi filesystem as sysroot then you can simply install them like you did for your development machine.
Hope it helps
-
Still having this problem on Qt 6.8. Can't find any information on Google that's relevant. I'm getting a warning when I run the configure:
CMake Warning at qtwayland/src/CMakeLists.txt:26 (message):
QtWayland is missing required dependencies, nothing will be built.
Although this could be considered an error, the configuration will still
pass as coin (Qt's continuous integration system) will fail the build if
configure fails, but will still try to configure the module on targets that
are missing dependencies.Can someone please elaborate what "dependencies" I'm missing? Is there a list somewhere of required libraries (or, better, packages) that need to be in the RasPi sysroot in order for Wayland to compile? I've already tried installing weston, wayland-scanner, libwayland-dev, and wayland-protocols.
-
@Nobuddy said in QT 5.4 & Qtwayland:
Can someone please elaborate what "dependencies" I'm missing?
Check the configure log file (config.log if I'm not mistaken).