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

Martin Jansa martin.jansa at gmail.com
Sat Dec 23 17:36:53 UTC 2017


On Fri, Dec 22, 2017 at 02:56:09PM +0100, Martin Jansa wrote:
> 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).

It doesn't apply with 5.9.3 as well, so I'll drop it from rocko-next as
well and wait for you to resend it with indication which branch actually
needs it.

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

-- 
Martin 'JaMa' Jansa     jabber: Martin.Jansa at gmail.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: Digital signature
URL: <http://lists.openembedded.org/pipermail/openembedded-devel/attachments/20171223/12e9ffe9/attachment-0002.sig>


More information about the Openembedded-devel mailing list