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 ;)


  • Lifetime Qt Champion

    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


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.