Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-135613

Compiling Qt6 with wayland and rasberry pi support requires EGL/eglext_brcm.h

    XMLWordPrintable

Details

    • Bug
    • Resolution: Incomplete
    • P3: Somewhat important
    • None
    • 6.4.2, 6.10
    • Wayland Compositor
    • None
    • ubuntu

    Description

      Compiling Qt6 with wayland and rasberry pi support requires EGL/eglext_brcm.h but this is not available in modern raspberry pi. (E.g. Pi 4) it was available in old firmware but not in pi 4.

      Compiled on ubuntu on a x86 laptop. Compiling for host first. Pi includes available if needed. 

      Get code and init repro

      git clone git@github.com:qt/qt5.git

       

      ./init-repository -f --module-subset=qtbase,qtwayland,qtdeclarative,qtimageformats,qtlanguageserver,qtshadertools,qtsvg
       
      
      git checkout 6.4.2

      configure for host compile
       

       cmake ../qt5/ -GNinja -DCMAKE_BUILD_TYPE=Release -DQT_BUILD_EXAMPLES=OFF -DQT_BUILD_TESTS=OFF -DCMAKE_INSTALL_PREFIX=$QTBUILDROOT/qt-host/ -DFEATURE_xcb=OFF -DBUILD_qtwayland=ON -DQT_FEATURE_eglfs_brcm=ON -DQT_FEATURE_opensslv11=ON -DQT_FEATURE_accessibility_atspi_bridge=OFF
       
      

      build

      cmake --build . --parallel 8

      Error

       

       [95/471] Building CXX object qtwayland/src/plugins/hardwareintegration/client/brcm-egl/CMakeFiles/QWaylandBrcmEglClientBufferPlugin.dir/QWaylandBrcmEglClientBufferPlugin_autogen/mocs_compilation.cpp.o FAILED: qtwayland/src/plugins/hardwareintegration/client/brcm-egl/CMakeFiles/QWaylandBrcmEglClientBufferPlugin.dir/QWaylandBrcmEglClientBufferPlugin_autogen/mocs_compilation.cpp.o /usr/bin/c++ -DQT_CORE_LIB -DQT_DEPRECATED_WARNINGS -DQT_EXPLICIT_QFILE_CONSTRUCTION_FROM_PATH -DQT_GUI_LIB -DQT_NO_AS_CONST=1 -DQT_NO_CONTEXTLESS_CONNECT=1 -DQT_NO_DEBUG -DQT_NO_EXCEPTIONS -DQT_NO_FOREACH -DQT_NO_FOREACH=1 -DQT_NO_JAVA_STYLE_ITERATORS -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_NO_QASCONST -DQT_NO_QEXCHANGE -DQT_NO_QSNPRINTF -DQT_NO_STD_FORMAT_SUPPORT -DQT_PLUGIN -DQT_USE_QSTRINGBUILDER -DQT_WAYLANDCLIENT_LIB -DQT_WAYLANDGLOBAL_LIB -DQWaylandBrcmEglClientBufferPlugin_EXPORTS -D_GLIBCXX_ASSERTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE  -I/home/tommy/projects/rPi4_OS/crossCompile/qt6/qt5ReproQt6CodeAndBuild/qt-hostbuild/qtwayland/src/plugins/hardwareintegration/client/brcm-egl/QWaylandBrcmEglClientBufferPlugin_autogen/include  -I/home/tommy/projects/rPi4_OS/crossCompile/qt6/qt5ReproQt6CodeAndBuild/qt5/qtwayland/src/plugins/hardwareintegration/client/brcm-egl  -I/home/tommy/projects/rPi4_OS/crossCompile/qt6/qt5ReproQt6CodeAndBuild/qt-hostbuild/qtwayland/src/plugins/hardwareintegration/client/brcm-egl  -I/home/tommy/projects/rPi4_OS/crossCompile/qt6/qt5ReproQt6CodeAndBuild/qt-hostbuild/qtbase/include  -I/home/tommy/projects/rPi4_OS/crossCompile/qt6/qt5ReproQt6CodeAndBuild/qt-hostbuild/qtbase/include/QtCore  -I/home/tommy/projects/rPi4_OS/crossCompile/qt6/qt5ReproQt6CodeAndBuild/qt5/qtbase/mkspecs/linux-g++  -I/home/tommy/projects/rPi4_OS/crossCompile/qt6/qt5ReproQt6CodeAndBuild/qt-hostbuild/qtbase/include/QtGui  -I/home/tommy/projects/rPi4_OS/crossCompile/qt6/qt5ReproQt6CodeAndBuild/qt-hostbuild/qtwayland/src/client  -I/home/tommy/projects/rPi4_OS/crossCompile/qt6/qt5ReproQt6CodeAndBuild/qt-hostbuild/qtbase/include/QtWaylandClient/6.10.0  -I/home/tommy/projects/rPi4_OS/crossCompile/qt6/qt5ReproQt6CodeAndBuild/qt-hostbuild/qtbase/include/QtWaylandClient/6.10.0/QtWaylandClient  -I/home/tommy/projects/rPi4_OS/crossCompile/qt6/qt5ReproQt6CodeAndBuild/qt-hostbuild/qtbase/src/corelib  -I/home/tommy/projects/rPi4_OS/crossCompile/qt6/qt5ReproQt6CodeAndBuild/qt-hostbuild/qtbase/include/QtCore/6.10.0  -I/home/tommy/projects/rPi4_OS/crossCompile/qt6/qt5ReproQt6CodeAndBuild/qt-hostbuild/qtbase/include/QtCore/6.10.0/QtCore  -I/home/tommy/projects/rPi4_OS/crossCompile/qt6/qt5ReproQt6CodeAndBuild/qt-hostbuild/qtbase/src/gui  -I/home/tommy/projects/rPi4_OS/crossCompile/qt6/qt5ReproQt6CodeAndBuild/qt-hostbuild/qtbase/include/QtGui/6.10.0  -I/home/tommy/projects/rPi4_OS/crossCompile/qt6/qt5ReproQt6CodeAndBuild/qt-hostbuild/qtbase/include/QtGui/6.10.0/QtGui  -I/home/tommy/projects/rPi4_OS/crossCompile/qt6/qt5ReproQt6CodeAndBuild/qt-hostbuild/qtbase/include/QtWaylandGlobal  -I/home/tommy/projects/rPi4_OS/crossCompile/qt6/qt5ReproQt6CodeAndBuild/qt5/qtwayland/src  -I/home/tommy/projects/rPi4_OS/crossCompile/qt6/qt5ReproQt6CodeAndBuild/qt-hostbuild/qtwayland/src  -I/home/tommy/projects/rPi4_OS/crossCompile/qt6/qt5ReproQt6CodeAndBuild/qt-hostbuild/qtbase/include/QtWaylandGlobal/6.10.0  -I/home/tommy/projects/rPi4_OS/crossCompile/qt6/qt5ReproQt6CodeAndBuild/qt-hostbuild/qtbase/include/QtWaylandGlobal/6.10.0/QtWaylandGlobal  -I/home/tommy/projects/rPi4_OS/crossCompile/qt6/qt5ReproQt6CodeAndBuild/qt-hostbuild/qtbase/include/QtWaylandClient  -DNDEBUG -O2 -std=gnu++17 -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -Wall -Wextra -Wno-expansion-to-defined -fPIC -U_FORTIFY_SOURCE -Wsuggest-override -fcf-protection=full -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fstack-clash-protection -fno-exceptions -MD -MT qtwayland/src/plugins/hardwareintegration/client/brcm-egl/CMakeFiles/QWaylandBrcmEglClientBufferPlugin.dir/QWaylandBrcmEglClientBufferPlugin_autogen/mocs_compilation.cpp.o -MF qtwayland/src/plugins/hardwareintegration/client/brcm-egl/CMakeFiles/QWaylandBrcmEglClientBufferPlugin.dir/QWaylandBrcmEglClientBufferPlugin_autogen/mocs_compilation.cpp.o.d -o qtwayland/src/plugins/hardwareintegration/client/brcm-egl/CMakeFiles/QWaylandBrcmEglClientBufferPlugin.dir/QWaylandBrcmEglClientBufferPlugin_autogen/mocs_compilation.cpp.o -c /home/tommy/projects/rPi4_OS/crossCompile/qt6/qt5ReproQt6CodeAndBuild/qt-hostbuild/qtwayland/src/plugins/hardwareintegration/client/brcm-egl/QWaylandBrcmEglClientBufferPlugin_autogen/mocs_compilation.cpp 
      In file included from /home/tommy/projects/rPi4_OS/crossCompile/qt6/qt5ReproQt6CodeAndBuild/qt-hostbuild/qtwayland/src/plugins/hardwareintegration/client/brcm-egl/QWaylandBrcmEglClientBufferPlugin_autogen/EWIEGA46WW/../../../../../../../../../qt5/qtwayland/src/plugins/hardwareintegration/client/brcm-egl/qwaylandbrcmeglwindow.h:8,                  from /home/tommy/projects/rPi4_OS/crossCompile/qt6/qt5ReproQt6CodeAndBuild/qt-hostbuild/qtwayland/src/plugins/hardwareintegration/client/brcm-egl/QWaylandBrcmEglClientBufferPlugin_autogen/EWIEGA46WW/moc_qwaylandbrcmeglwindow.cpp:9,                  from /home/tommy/projects/rPi4_OS/crossCompile/qt6/qt5ReproQt6CodeAndBuild/qt-hostbuild/qtwayland/src/plugins/hardwareintegration/client/brcm-egl/QWaylandBrcmEglClientBufferPlugin_autogen/mocs_compilation.cpp:2: /home/tommy/projects/rPi4_OS/crossCompile/qt6/qt5ReproQt6CodeAndBuild/qt-hostbuild/qtwayland/src/plugins/hardwareintegration/client/brcm-egl/QWaylandBrcmEglClientBufferPlugin_autogen/EWIEGA46WW/../../../../../../../../../qt5/qtwayland/src/plugins/hardwareintegration/client/brcm-egl/qwaylandbrcmeglintegration.h:14:10: fatal error: EGL/eglext_brcm.h: No such file or directory    14 | #include <EGL/eglext_brcm.h>       |          ^~~~~~~~~~~~~~~~~~~ compilation terminated. [97/471] Building CXX object qtwayland/src/compositor/CMakeFiles/WaylandCompositor.dir/waylandcompositor_qmltyperegistrations.cpp.o
       
      

       

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            qt.team.graphics.and.multimedia Qt Graphics Team
            statlabtommy Thomas Brickell
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes