[oe] [meta-qt5][PATCH] qtdeclarative: fix build without opengl support

Martin Jansa martin.jansa at gmail.com
Fri Dec 22 13:56:09 UTC 2017


Can you please test with master-next (where is pending upgrade to 5.10), if
this patch is still needed there?

If you want to use it with 5.9, then try rocko-next (with pending upgrade
to 5.9.3).

All my qt5 builds have opengl enabled, so I haven't seen this issue, but
the patch as is doesn't apply on top of 5.10 upgrade (so I've just dropped
it from master-next).

On Tue, Nov 21, 2017 at 12:42 PM, Jeroen Hofstee <jhofstee at victronenergy.com
> wrote:

> Don't build the qtdeclarative opengl example without opengl support,
> since it causes a build error. The included patch comes from buildroot.
>
> Signed-off-by: Jeroen Hofstee <jhofstee at victronenergy.com>
> ---
>  ...uickviewcomparison-and-quickwidget-needs-.patch | 58
> ++++++++++++++++++++++
>  recipes-qt/qt5/qtdeclarative_git.bb                |  2 +
>  2 files changed, 60 insertions(+)
>  create mode 100644 recipes-qt/qt5/qtdeclarative/0002-examples-
> qquickviewcomparison-and-quickwidget-needs-.patch
>
> diff --git a/recipes-qt/qt5/qtdeclarative/0002-examples-
> qquickviewcomparison-and-quickwidget-needs-.patch b/recipes-qt/qt5/
> qtdeclarative/0002-examples-qquickviewcomparison-and-
> quickwidget-needs-.patch
> new file mode 100644
> index 0000000..875634f
> --- /dev/null
> +++ b/recipes-qt/qt5/qtdeclarative/0002-examples-qquickviewcomparison-and-
> quickwidget-needs-.patch
> @@ -0,0 +1,58 @@
> +From b4db5c6cef877b33b5e7cd5a07fe4a7e6797dcfc Mon Sep 17 00:00:00 2001
> +From: Peter Seiderer <ps.report at gmx.net>
> +Date: Tue, 16 May 2017 19:47:19 +0200
> +Subject: [PATCH] examples: qquickviewcomparison and quickwidget needs
> OpenGL
> + support
> +
> +Fixes:
> +
> +  main.cpp:(.text._ZN11QQmlPrivate10createIntoI6FbItemEEvPv[_
> ZN11QQmlPrivate10createIntoI6FbItemEEvPv]+0x18): undefined reference to
> `QQuickFramebufferObject::QQuickFramebufferObject(QQuickItem*)'
> +  .obj/main.o: In function `QQmlPrivate::QQmlElement<
> FbItem>::~QQmlElement()':
> +  main.cpp:(.text._ZN11QQmlPrivate11QQmlElementI6FbItemED2Ev[_
> ZN11QQmlPrivate11QQmlElementI6FbItemED5Ev]+0x5c): undefined reference to
> `vtable for QQuickFramebufferObject'
> +  .obj/main.o: In function `QQmlPrivate::QQmlElement<
> FbItem>::~QQmlElement()':
> +  main.cpp:(.text._ZN11QQmlPrivate11QQmlElementI6FbItemED0Ev[_
> ZN11QQmlPrivate11QQmlElementI6FbItemED0Ev]+0x64): undefined reference to
> `vtable for QQuickFramebufferObject'
> +  .obj/main.o:(.data.rel.ro._ZTVN11QQmlPrivate11QQmlElementI6FbItemEE[_
> ZTVN11QQmlPrivate11QQmlElementI6FbItemEE]+0x48): undefined reference to
> `QQuickFramebufferObject::isTextureProvider() const'
> +  .obj/main.o:(.data.rel.ro._ZTVN11QQmlPrivate11QQmlElementI6FbItemEE[_
> ZTVN11QQmlPrivate11QQmlElementI6FbItemEE]+0x4c): undefined reference to
> `QQuickFramebufferObject::textureProvider() const'
> +  .obj/main.o:(.data.rel.ro._ZTVN11QQmlPrivate11QQmlElementI6FbItemEE[_
> ZTVN11QQmlPrivate11QQmlElementI6FbItemEE]+0xb4): undefined reference to
> `QQuickFramebufferObject::geometryChanged(QRectF const&, QRectF const&)'
> +  .obj/main.o:(.data.rel.ro._ZTVN11QQmlPrivate11QQmlElementI6FbItemEE[_
> ZTVN11QQmlPrivate11QQmlElementI6FbItemEE]+0xb8): undefined reference to
> `QQuickFramebufferObject::updatePaintNode(QSGNode*, QQuickItem::
> UpdatePaintNodeData*)'
> +  .obj/main.o:(.data.rel.ro._ZTVN11QQmlPrivate11QQmlElementI6FbItemEE[_
> ZTVN11QQmlPrivate11QQmlElementI6FbItemEE]+0xbc): undefined reference to
> `QQuickFramebufferObject::releaseResources()'
> +  .obj/moc_fbitem.o: In function `FbItem::qt_metacast(char const*)':
> +  moc_fbitem.cpp:(.text+0x70): undefined reference to
> `QQuickFramebufferObject::qt_metacast(char const*)'
> +  .obj/moc_fbitem.o: In function `FbItem::qt_metacall(QMetaObject::Call,
> int, void**)':
> +  moc_fbitem.cpp:(.text+0x80): undefined reference to
> `QQuickFramebufferObject::qt_metacall(QMetaObject::Call, int, void**)'
> +  .obj/moc_fbitem.o: In function `FbItem::~FbItem()':
> +  moc_fbitem.cpp:(.text._ZN6FbItemD2Ev[_ZN6FbItemD5Ev]+0x38): undefined
> reference to `vtable for QQuickFramebufferObject'
> +  .obj/moc_fbitem.o: In function `FbItem::~FbItem()':
> +  moc_fbitem.cpp:(.text._ZN6FbItemD0Ev[_ZN6FbItemD0Ev]+0x40): undefined
> reference to `vtable for QQuickFramebufferObject'
> +  .obj/moc_fbitem.o:(.data.rel.ro+0x8): undefined reference to `typeinfo
> for QQuickFramebufferObject'
> +  .obj/moc_fbitem.o:(.data.rel.ro+0x58): undefined reference to
> `QQuickFramebufferObject::isTextureProvider() const'
> +  .obj/moc_fbitem.o:(.data.rel.ro+0x5c): undefined reference to
> `QQuickFramebufferObject::textureProvider() const'
> +  .obj/moc_fbitem.o:(.data.rel.ro+0xc4): undefined reference to
> `QQuickFramebufferObject::geometryChanged(QRectF const&, QRectF const&)'
> +  .obj/moc_fbitem.o:(.data.rel.ro+0xc8): undefined reference to
> `QQuickFramebufferObject::updatePaintNode(QSGNode*, QQuickItem::
> UpdatePaintNodeData*)'
> +  .obj/moc_fbitem.o:(.data.rel.ro+0xcc): undefined reference to
> `QQuickFramebufferObject::releaseResources()'
> +  .obj/moc_fbitem.o:(.data.rel.ro+0xf0): undefined reference to
> `QQuickFramebufferObject::staticMetaObject'
> +
> +Signed-off-by: Peter Seiderer <ps.report at gmx.net>
> +---
> + examples/quick/quick.pro | 5 ++++-
> + 1 file changed, 4 insertions(+), 1 deletion(-)
> +
> +diff --git a/examples/quick/quick.pro b/examples/quick/quick.pro
> +index 445dfb0fa..26ca0138e 100644
> +--- a/examples/quick/quick.pro
> ++++ b/examples/quick/quick.pro
> +@@ -36,7 +36,10 @@ qtConfig(opengl(es1|es2)?) {
> + # Widget dependent examples
> + qtHaveModule(widgets) {
> +     SUBDIRS += embeddedinwidgets
> +-    qtHaveModule(quickwidgets): SUBDIRS += quickwidgets
> ++    # OpenGL Support Required
> ++    qtConfig(opengl(es1|es2)?) {
> ++        qtHaveModule(quickwidgets): SUBDIRS += quickwidgets
> ++    }
> + }
> +
> + EXAMPLE_FILES = \
> +--
> +2.11.0
> +
> diff --git a/recipes-qt/qt5/qtdeclarative_git.bb b/recipes-qt/qt5/
> qtdeclarative_git.bb
> index 4ae870a..c9915af 100644
> --- a/recipes-qt/qt5/qtdeclarative_git.bb
> +++ b/recipes-qt/qt5/qtdeclarative_git.bb
> @@ -32,4 +32,6 @@ EXTRA_QMAKEVARS_PRE += "${@bb.utils.contains('PACKAGECONFIG',
> 'qtxmlpatterns', '
>
>  SRCREV = "32218c3243fb4f0da83293c5bd6a663d8e3660ee"
>
> +SRC_URI += "file://0002-examples-qquickviewcomparison-and-
> quickwidget-needs-.patch"
> +
>  BBCLASSEXTEND =+ "native nativesdk"
> --
> 2.7.4
>
> --
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel
>



More information about the Openembedded-devel mailing list