On Mon, Oct 21, 2024 at 01:06 PM, Aleksandar Nikolic wrote:

> 
> Greetings,
> 
> (Note that this is not a bug on master or anything)
> 
> I need the qml6glsing plugin so I tried the patch from [1] (see [2] for
> the patch I have in my local repo). While the patch works for the 1.22.5
> version (I've tested this), the build fails if the patch is applied on the
> current version on master, which is at the time of writing 1.24.6. The
> error I am getting is in [3]. I haven't yet looked in details, at first it
> looks like the build uses hosts paths when looking for headers (e.g.
> I/usr/include/6.9.0 -I/usr/include/6.9.0/QtCore). If someone has
> experienced a similar issue or have further info on gstreamer, please
> reply.
> 
> Cheers
> Aleksandar
> 
> [1] gstreamer1.0-plugins-good: Provide Qt6 option for qmlgl - Patchwork
> (yoctoproject.org) (
> https://patchwork.yoctoproject.org/project/oe-core/patch/20231004160911.3030063-1-cordlandw...@kde.org/#13895
> )
> 
> [2]
> ---
> a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.24.6.bb
> +++
> b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-good_1.24.6.bb
> @@ -33,7 +33,7 @@ X11DEPENDS = "virtual/libx11 libsm libxrender libxfixes
> libxdamage"
> X11ENABLEOPTS = "-Dximagesrc=enabled -Dximagesrc-xshm=enabled
> -Dximagesrc-xfixes=enabled -Dximagesrc-xdamage=enabled"
> X11DISABLEOPTS = "-Dximagesrc=disabled -Dximagesrc-xshm=disabled
> -Dximagesrc-xfixes=disabled -Dximagesrc-xdamage=disabled"
> -QT5WAYLANDDEPENDS = "${@bb.utils.contains("DISTRO_FEATURES", "wayland",
> "qtwayland", "", d)}"
> +QTWAYLANDDEPENDS = "${@bb.utils.contains("DISTRO_FEATURES", "wayland",
> "qtwayland", "", d)}"
> PACKAGECONFIG[amrnb]      =
> "-Damrnb=enabled,-Damrnb=disabled,opencore-amr"
> PACKAGECONFIG[amrwb]      =
> "-Damrwbdec=enabled,-Damrwbdec=disabled,opencore-amr"
> @@ -52,7 +52,8 @@ PACKAGECONFIG[libpng]     =
> "-Dpng=enabled,-Dpng=disabled,libpng"
> PACKAGECONFIG[libv4l2]    =
> "-Dv4l2-libv4l2=enabled,-Dv4l2-libv4l2=disabled,v4l-utils"
> PACKAGECONFIG[mpg123]     = "-Dmpg123=enabled,-Dmpg123=disabled,mpg123"
> PACKAGECONFIG[pulseaudio] = "-Dpulse=enabled,-Dpulse=disabled,pulseaudio"
> -PACKAGECONFIG[qt5]        = "-Dqt5=enabled,-Dqt5=disabled,qtbase
> qtdeclarative qtbase-native qttools-native ${QT5WAYLANDDEPENDS}"
> +PACKAGECONFIG[qt5]        = "-Dqt5=enabled,-Dqt5=disabled,qtbase
> qtdeclarative qtbase-native qttools-native ${QTWAYLANDDEPENDS}"
> +PACKAGECONFIG[qt6]        = "-Dqt6=enabled,-Dqt6=disabled,qtbase
> qtdeclarative qtbase-native qttools-native ${QTWAYLANDDEPENDS}"
> PACKAGECONFIG[soup2]      = "-Dsoup=enabled,,libsoup-2.4,,,soup3"
> PACKAGECONFIG[soup3]      = "-Dsoup=enabled,,libsoup,,,soup2"
> PACKAGECONFIG[speex]      = "-Dspeex=enabled,-Dspeex=disabled,speex"
> @@ -63,6 +64,13 @@ PACKAGECONFIG[vpx]        =
> "-Dvpx=enabled,-Dvpx=disabled,libvpx"
> PACKAGECONFIG[wavpack]    = "-Dwavpack=enabled,-Dwavpack=disabled,wavpack"
> 
> PACKAGECONFIG[x11]        =
> "${X11ENABLEOPTS},${X11DISABLEOPTS},${X11DEPENDS}"
> +PACKAGECONFIG:append = "qt6"
> +
> +do_configure:prepend() {
> +    # provide path to qtwaylandscanner
> +    export PATH=${PATH}:${STAGING_DIR_NATIVE}${libexecdir}
> +}
> +
> EXTRA_OEMESON += " \
> -Ddoc=disabled \
> -Daalib=disabled \
> 
> [3]
> | x86_64-poky-linux-g++ -m64 -march=core2 -mtune=core2 -msse3 -mfpmath=sse
> -fstack-protector-strong -O2 -D_FORTIFY_SOURCE=2 -Wformat
> -Wformat-security -Werror=format-security
> --sysroot=/data/home/oganikol/projects/oss/git/poky/build-master/tmp/work/core2-64-poky-linux/gstreamer1.0-plugins-good/1.24.6/recipe-sysroot
> -Iext/qt6/libgstqml6.so.p -Iext/qt6 -I../gst-plugins-good-1.24.6/ext/qt6
> -I. -I../gst-plugins-good-1.24.6 -I../gst-plugins-good-1.24.6/gst-libs
> -I/data/home/oganikol/projects/oss/git/poky/build-master/tmp/work/core2-64-poky-linux/gstreamer1.0-plugins-good/1.24.6/recipe-sysroot/usr/include/gstreamer-1.0
> -I/data/home/oganikol/projects/oss/git/poky/build-master/tmp/work/core2-64-poky-linux/gstreamer1.0-plugins-good/1.24.6/recipe-sysroot/usr/include/glib-2.0
> -I/data/home/oganikol/projects/oss/git/poky/build-master/tmp/work/core2-64-poky-linux/gstreamer1.0-plugins-good/1.24.6/recipe-sysroot/usr/lib/glib-2.0/include
> -I/data/home/oganikol/projects/oss/git/poky/build-master/tmp/work/core2-64-poky-linux/gstreamer1.0-plugins-good/1.24.6/recipe-sysroot/usr/include/orc-0.4
> -I/data/home/oganikol/projects/oss/git/poky/build-master/tmp/work/core2-64-poky-linux/gstreamer1.0-plugins-good/1.24.6/recipe-sysroot/usr/lib/gstreamer-1.0/include
> -I/data/home/oganikol/projects/oss/git/poky/build-master/tmp/work/core2-64-poky-linux/gstreamer1.0-plugins-good/1.24.6/recipe-sysroot/usr/include/libdrm
> -I/data/home/oganikol/projects/oss/git/poky/build-master/tmp/work/core2-64-poky-linux/gstreamer1.0-plugins-good/1.24.6/recipe-sysroot/usr/include/QtCore
> -I/data/home/oganikol/projects/oss/git/poky/build-master/tmp/work/core2-64-poky-linux/gstreamer1.0-plugins-good/1.24.6/recipe-sysroot/usr/lib/mkspecs/linux-g++
> -I/usr/include/6.9.0 -I/usr/include/6.9.0/QtCore
> -I/data/home/oganikol/projects/oss/git/poky/build-master/tmp/work/core2-64-poky-linux/gstreamer1.0-plugins-good/1.24.6/recipe-sysroot/usr/include/QtGui
> -I/usr/include/6.9.0/QtGui
> -I/data/home/oganikol/projects/oss/git/poky/build-master/tmp/work/core2-64-poky-linux/gstreamer1.0-plugins-good/1.24.6/recipe-sysroot/usr/include/QtQml
> -I/data/home/oganikol/projects/oss/git/poky/build-master/tmp/work/core2-64-poky-linux/gstreamer1.0-plugins-good/1.24.6/recipe-sysroot/usr/include/QtQmlIntegration
> -I/data/home/oganikol/projects/oss/git/poky/build-master/tmp/work/core2-64-poky-linux/gstreamer1.0-plugins-good/1.24.6/recipe-sysroot/usr/include/QtNetwork
> -I/usr/include/6.9.0/QtQml
> -I/data/home/oganikol/projects/oss/git/poky/build-master/tmp/work/core2-64-poky-linux/gstreamer1.0-plugins-good/1.24.6/recipe-sysroot/usr/include/QtQuick
> -I/data/home/oganikol/projects/oss/git/poky/build-master/tmp/work/core2-64-poky-linux/gstreamer1.0-plugins-good/1.24.6/recipe-sysroot/usr/include/QtQmlMeta
> -I/data/home/oganikol/projects/oss/git/poky/build-master/tmp/work/core2-64-poky-linux/gstreamer1.0-plugins-good/1.24.6/recipe-sysroot/usr/include/QtQmlWorkerScript
> -I/data/home/oganikol/projects/oss/git/poky/build-master/tmp/work/core2-64-poky-linux/gstreamer1.0-plugins-good/1.24.6/recipe-sysroot/usr/include/QtQmlModels
> -I/data/home/oganikol/projects/oss/git/poky/build-master/tmp/work/core2-64-poky-linux/gstreamer1.0-plugins-good/1.24.6/recipe-sysroot/usr/include/QtOpenGL
> -I/usr/include/6.9.0/QtQuick
> -I/data/home/oganikol/projects/oss/git/poky/build-master/tmp/work/core2-64-poky-linux/gstreamer1.0-plugins-good/1.24.6/recipe-sysroot/usr/include/QtWaylandClient
> -fdiagnostics-color=always -D_GLIBCXX_ASSERTIONS=1 -D_FILE_OFFSET_BITS=64
> -Wall -Winvalid-pch -std=c++17 -Wmissing-declarations -Wredundant-decls
> -Wwrite-strings -Winit-self -Wmissing-include-dirs -Wno-multichar -Wvla
> -Wpointer-arith -O2 -g -fcanon-prefix-map
> -fmacro-prefix-map=/data/home/oganikol/projects/oss/git/poky/build-master/tmp/work/core2-64-poky-linux/gstreamer1.0-plugins-good/1.24.6/gst-plugins-good-1.24.6=/usr/src/debug/gstreamer1.0-plugins-good/1.24.6
> -fdebug-prefix-map=/data/home/oganikol/projects/oss/git/poky/build-master/tmp/work/core2-64-poky-linux/gstreamer1.0-plugins-good/1.24.6/gst-plugins-good-1.24.6=/usr/src/debug/gstreamer1.0-plugins-good/1.24.6
> -fmacro-prefix-map=/data/home/oganikol/projects/oss/git/poky/build-master/tmp/work/core2-64-poky-linux/gstreamer1.0-plugins-good/1.24.6/build=/usr/src/debug/gstreamer1.0-plugins-good/1.24.6
> -fdebug-prefix-map=/data/home/oganikol/projects/oss/git/poky/build-master/tmp/work/core2-64-poky-linux/gstreamer1.0-plugins-good/1.24.6/build=/usr/src/debug/gstreamer1.0-plugins-good/1.24.6
> -fdebug-prefix-map=/data/home/oganikol/projects/oss/git/poky/build-master/tmp/work/core2-64-poky-linux/gstreamer1.0-plugins-good/1.24.6/recipe-sysroot=
> -fmacro-prefix-map=/data/home/oganikol/projects/oss/git/poky/build-master/tmp/work/core2-64-poky-linux/gstreamer1.0-plugins-good/1.24.6/recipe-sysroot=
> -fdebug-prefix-map=/data/home/oganikol/projects/oss/git/poky/build-master/tmp/work/core2-64-poky-linux/gstreamer1.0-plugins-good/1.24.6/recipe-sysroot-native=
> -fmacro-prefix-map=/data/home/oganikol/projects/oss/git/poky/build-master/tmp/work/core2-64-poky-linux/gstreamer1.0-plugins-good/1.24.6/recipe-sysroot-native=
> -pipe -fvisibility-inlines-hidden -fPIC -pthread -DQT_WAYLANDCLIENT_LIB
> -DQT_QUICK_LIB -DQT_QMLMETA_LIB -DQT_QMLWORKERSCRIPT_LIB
> -DQT_QMLMODELS_LIB -DQT_OPENGL_LIB -DQT_QML_LIB -DQT_QMLINTEGRATION_LIB
> -DQT_NETWORK_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DHAVE_CONFIG_H
> -DHAVE_QT_QPA_HEADER
> '-DQT_QPA_HEADER=<6.9.0/QtGui/qpa/qplatformnativeinterface.h>'
> -DHAVE_QT_X11 -DHAVE_QT_WAYLAND -DHAVE_QT_EGLFS -MD -MQ
> ext/qt6/libgstqml6.so.p/gstqsg6material.cc.o -MF
> ext/qt6/libgstqml6.so.p/gstqsg6material.cc.o.d -o
> ext/qt6/libgstqml6.so.p/gstqsg6material.cc.o -c
> ../gst-plugins-good-1.24.6/ext/qt6/gstqsg6material.cc
> | cc1plus: warning: /usr/include/6.9.0: No such file or directory
> [-Wmissing-include-dirs]
> | cc1plus: warning: /usr/include/6.9.0/QtCore: No such file or directory
> [-Wmissing-include-dirs]
> | cc1plus: warning: /usr/include/6.9.0/QtGui: No such file or directory
> [-Wmissing-include-dirs]
> | cc1plus: warning: /usr/include/6.9.0/QtQml: No such file or directory
> [-Wmissing-include-dirs]
> | cc1plus: warning: /usr/include/6.9.0/QtQuick: No such file or directory
> [-Wmissing-include-dirs]
> | ../gst-plugins-good-1.24.6/ext/qt6/gstqsg6material.cc:32:10: fatal
> error: private/qrhi_p.h: No such file or directory
> |    32 | #include <private/qrhi_p.h>
> |       |          ^~~~~~~~~~~~~~~~~~
> | compilation terminated.
> 
> 

Hello Aleksandar Nikolic,

A few days ago, I was trying to enable the QML plugin for Qt6, and I faced the 
same error regarding the missing header file, specifically qrhi_p.h. Upon 
investigation, I found that the header file was indeed present.

After further debugging, I discovered that the pkg-config for QtGui did not 
search all the required paths. To resolve this issue, I added the path to the 
header file in the Bitbake recipe as an extra Meson option, which resolved the 
problem.

Here’s the modification I made:

In the file *gstreamer1.0-plugins-good_1.24.6.bb* , I added the following line 
to provide the include path for the header file:
*EXTRA_OEMESON += "-Dcpp_args=-I ${STAGING_DIR_NATIVE} 
/usr/include/QtGui/6.8.0/QtGui"*

I hope this helps!

Thanks and Regards
Satej Ganji
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#64481): https://lists.yoctoproject.org/g/yocto/message/64481
Mute This Topic: https://lists.yoctoproject.org/mt/109128293/21656
Group Owner: yocto+ow...@lists.yoctoproject.org
Unsubscribe: https://lists.yoctoproject.org/g/yocto/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to