[Buildroot] [PATCH] package/qt5/qt5location: needs qt5declarative quick package

Peter Seiderer ps.report at gmx.net
Sun Sep 20 15:41:48 UTC 2020


Hello Bartek,

On Sat, 19 Sep 2020 23:05:00 +0200, Bartosz Bilas <b.bilas at grinn-global.com> wrote:

> Hello again,
> 
> On 19.09.2020 22:34, Bartosz Bilas wrote:
> > Hi Thomas,
> >
> > On 19.09.2020 22:08, Thomas Petazzoni wrote:  
> >> On Sat, 19 Sep 2020 21:48:57 +0200
> >> Bartosz Bilas <b.bilas at grinn-global.com> wrote:
> >>  
> >>> Simply add the dependency of qt5declarative quick module that
> >>> forces Qt OpenGL support which is needed for qt5location component [1].
> >>>
> >>> Fixes:
> >>> http://autobuild.buildroot.net/results/ddd/ddda7cdb9400f6ca7d548e9b5ada18674fbe42e0/
> >>> http://autobuild.buildroot.net/results/ddb/ddb25ebb591ed6029a7bd4934464171358553936/
> >>>
> >>> and many many more...
> >>>
> >>> [1] 
> >>> https://code.woboq.org/qt5/qtdeclarative/src/quick/scenegraph/coreapi/qsgmaterialshader.h.html#105
> >>>
> >>> Signed-off-by: Bartosz Bilas <b.bilas at grinn-global.com>
> >>> ---
> >>>   package/qt5/qt5location/Config.in      | 4 ++++
> >>>   package/qt5/qt5location/qt5location.mk | 5 +----
> >>>   2 files changed, 5 insertions(+), 4 deletions(-)
> >>>
> >>> diff --git a/package/qt5/qt5location/Config.in 
> >>> b/package/qt5/qt5location/Config.in
> >>> index c68deb1006..207ad5a37a 100644
> >>> --- a/package/qt5/qt5location/Config.in
> >>> +++ b/package/qt5/qt5location/Config.in
> >>> @@ -1,5 +1,6 @@
> >>>   config BR2_PACKAGE_QT5LOCATION
> >>>       bool "qt5location"
> >>> +    depends on BR2_PACKAGE_QT5DECLARATIVE_QUICK  
> >> This looks a bit weird, because src/src.pro looks like this:
> >>
> >> SUBDIRS += positioning
> >> positioning.depends = clip2tri
> >>
> >> qtHaveModule(quick) {
> >>      SUBDIRS += positioningquick location
> >>      positioningquick.depends += positioning
> >>      location.depends += positioningquick clip2tri
> >>
> >>      plugins.depends += location
> >>
> >>      SUBDIRS += imports
> >>      imports.depends += positioningquick positioning location
> >> }
> >>
> >> So, the "location" subdirectory should not be built of the quick module
> >> is not there.  
> > Yes, it's weird - it seems that this condition is always true even 
> > though quick module isn't compiled therefore I sent a quick workaround 
> > to fix build errors until I find a proper solution ;)  
> 
> After a quick investigation it seems that we should drop 
> BR2_PACKAGE_QT5DECLARATIVE_QUICK option and select 
> BR2_PACKAGE_QT5BASE_OPENGL option if BR2_PACKAGE_QT5_GL_AVAILABLE 
> directly when BR2_PACKAGE_QT5DECLARATIVE package is selected because 
> qt5declarative module includes quick subdirectory when gui module is 
> available:
> 
> qtHaveModule(gui):qtConfig(qml-animation) {
>      SUBDIRS += quick
> 
>     ...snip...
> }
> 
> and then we should add dependency of the qt5declarative package in 
> qt5location to solve the issue above.
> 
> qt5declarative package contains most of quick components enabled by 
> default even though quick module wasn't selected, see:
> 
> Qt QML:
>    QML network support .................... yes
>    QML debugging and profiling support .... yes
>    QML just-in-time compiler .............. yes
>    QML sequence object .................... yes
>    QML XML http request ................... yes
>    QML Locale ............................. yes
> Qt QML Models:
>    QML list model ......................... yes
>    QML delegate model ..................... yes
> Qt Quick:
>    Direct3D 12 ............................ no
>    AnimatedImage item ..................... yes
>    Canvas item ............................ yes
>    Support for Qt Quick Designer .......... yes
>    Flipable item .......................... yes
>    GridView item .......................... yes
>    ListView item .......................... yes
>    TableView item ......................... yes
>    Path support ........................... yes
>    PathView item .......................... yes
>    Positioner items ....................... yes
>    Repeater item .......................... yes
>    ShaderEffect item ...................... yes
>    Sprite item ............................ yes

I believe your analysis is right (and the conditional installation
of the quick library is gone with patch [1], there is no
explicit configure option in qtdeclarative for disabling quick)...

Regards,
Peter

[1] https://git.buildroot.net/buildroot/commit/package/qt5/qt5declarative/qt5declarative.mk?id=1bdceb5d735aad5fbf32b35e3a7f573ecb727e20

> 
> >>
> >> Could you try to see what's going on ?  
> > Yes, I'm doing that now :)  
> >>
> >> Thanks!
> >>
> >> Thomas  
> > Best
> > Bartek
> > _______________________________________________
> > buildroot mailing list
> > buildroot at busybox.net
> > http://lists.busybox.net/mailman/listinfo/buildroot  
> Best
> Bartek
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot



More information about the buildroot mailing list