All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v1] package/qt5webengine: examples need qt5svg
@ 2020-08-10 20:38 Peter Seiderer
  2020-08-11 18:31 ` Peter Seiderer
  0 siblings, 1 reply; 5+ messages in thread
From: Peter Seiderer @ 2020-08-10 20:38 UTC (permalink / raw)
  To: buildroot

Fixes:

  https://gitlab.com/buildroot.org/buildroot/-/jobs/674934350

  make[3]: Entering directory '.../build/qt5webengine-5.15.0/examples/webenginewidgets'
  Project ERROR: Unknown module(s) in QT: svg
  Makefile:47: recipe for target 'sub-pdfviewer-make_first' failed

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
---
 package/qt5/qt5webengine/Config.in       | 1 +
 package/qt5/qt5webengine/qt5webengine.mk | 4 ++++
 2 files changed, 5 insertions(+)

diff --git a/package/qt5/qt5webengine/Config.in b/package/qt5/qt5webengine/Config.in
index 215afbb616..9879345e1e 100644
--- a/package/qt5/qt5webengine/Config.in
+++ b/package/qt5/qt5webengine/Config.in
@@ -54,6 +54,7 @@ config BR2_PACKAGE_QT5WEBENGINE
 	select BR2_PACKAGE_QT5DECLARATIVE_QUICK
 	select BR2_PACKAGE_QT5QUICKCONTROLS
 	select BR2_PACKAGE_QT5QUICKCONTROLS2
+	select BR2_PACKAGE_QT5SVG if BR2_PACKAGE_QT5BASE_EXAMPLES
 	select BR2_PACKAGE_QT5WEBCHANNEL
 	select BR2_PACKAGE_XLIB_LIBXCOMPOSITE if BR2_PACKAGE_QT5BASE_XCB
 	select BR2_PACKAGE_XLIB_LIBXCURSOR if BR2_PACKAGE_QT5BASE_XCB
diff --git a/package/qt5/qt5webengine/qt5webengine.mk b/package/qt5/qt5webengine/qt5webengine.mk
index 4abcf45964..9101f35937 100644
--- a/package/qt5/qt5webengine/qt5webengine.mk
+++ b/package/qt5/qt5webengine/qt5webengine.mk
@@ -18,6 +18,10 @@ QT5WEBENGINE_LICENSE = GPL-2.0 or LGPL-3.0 or GPL-3.0 or GPL-3.0 with exception
 QT5WEBENGINE_LICENSE_FILES = LICENSE.GPL2 LICENSE.GPL3 LICENSE.GPL3-EXCEPT \
 	LICENSE.GPLv3 LICENSE.LGPL3 $(QT5WEBENGINE_CHROMIUM_LICENSE_FILES)
 
+ifeq ($(BR2_PACKAGE_QT5BASE_EXAMPLES),y)
+QT5WEBENGINE_DEPENDENCIES += qt5svg
+endif
+
 ifeq ($(BR2_PACKAGE_QT5BASE_XCB),y)
 QT5WEBENGINE_DEPENDENCIES += xlib_libXScrnSaver xlib_libXcomposite \
 	xlib_libXcursor xlib_libXi xlib_libXrandr xlib_libXtst
-- 
2.28.0

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [Buildroot] [PATCH v1] package/qt5webengine: examples need qt5svg
  2020-08-10 20:38 [Buildroot] [PATCH v1] package/qt5webengine: examples need qt5svg Peter Seiderer
@ 2020-08-11 18:31 ` Peter Seiderer
  2020-08-11 19:28   ` Thomas Petazzoni
  0 siblings, 1 reply; 5+ messages in thread
From: Peter Seiderer @ 2020-08-11 18:31 UTC (permalink / raw)
  To: buildroot

Hello *,

On Mon, 10 Aug 2020 22:38:41 +0200, Peter Seiderer <ps.report@gmx.net> wrote:

> Fixes:
>
>   https://gitlab.com/buildroot.org/buildroot/-/jobs/674934350
>
>   make[3]: Entering directory '.../build/qt5webengine-5.15.0/examples/webenginewidgets'
>   Project ERROR: Unknown module(s) in QT: svg
>   Makefile:47: recipe for target 'sub-pdfviewer-make_first' failed
>
> Signed-off-by: Peter Seiderer <ps.report@gmx.net>
> ---
>  package/qt5/qt5webengine/Config.in       | 1 +
>  package/qt5/qt5webengine/qt5webengine.mk | 4 ++++
>  2 files changed, 5 insertions(+)
>
> diff --git a/package/qt5/qt5webengine/Config.in b/package/qt5/qt5webengine/Config.in
> index 215afbb616..9879345e1e 100644
> --- a/package/qt5/qt5webengine/Config.in
> +++ b/package/qt5/qt5webengine/Config.in
> @@ -54,6 +54,7 @@ config BR2_PACKAGE_QT5WEBENGINE
>  	select BR2_PACKAGE_QT5DECLARATIVE_QUICK
>  	select BR2_PACKAGE_QT5QUICKCONTROLS
>  	select BR2_PACKAGE_QT5QUICKCONTROLS2
> +	select BR2_PACKAGE_QT5SVG if BR2_PACKAGE_QT5BASE_EXAMPLES
>  	select BR2_PACKAGE_QT5WEBCHANNEL
>  	select BR2_PACKAGE_XLIB_LIBXCOMPOSITE if BR2_PACKAGE_QT5BASE_XCB
>  	select BR2_PACKAGE_XLIB_LIBXCURSOR if BR2_PACKAGE_QT5BASE_XCB
> diff --git a/package/qt5/qt5webengine/qt5webengine.mk b/package/qt5/qt5webengine/qt5webengine.mk
> index 4abcf45964..9101f35937 100644
> --- a/package/qt5/qt5webengine/qt5webengine.mk
> +++ b/package/qt5/qt5webengine/qt5webengine.mk
> @@ -18,6 +18,10 @@ QT5WEBENGINE_LICENSE = GPL-2.0 or LGPL-3.0 or GPL-3.0 or GPL-3.0 with exception
>  QT5WEBENGINE_LICENSE_FILES = LICENSE.GPL2 LICENSE.GPL3 LICENSE.GPL3-EXCEPT \
>  	LICENSE.GPLv3 LICENSE.LGPL3 $(QT5WEBENGINE_CHROMIUM_LICENSE_FILES)
>
> +ifeq ($(BR2_PACKAGE_QT5BASE_EXAMPLES),y)
> +QT5WEBENGINE_DEPENDENCIES += qt5svg
> +endif
> +
>  ifeq ($(BR2_PACKAGE_QT5BASE_XCB),y)
>  QT5WEBENGINE_DEPENDENCIES += xlib_libXScrnSaver xlib_libXcomposite \
>  	xlib_libXcursor xlib_libXi xlib_libXrandr xlib_libXtst

Drop this one, make menuconfig results in the following warning:

package/qt5/qt5base/Config.in:1:error: recursive dependency detected!
package/qt5/qt5base/Config.in:1:	symbol BR2_PACKAGE_QT5BASE is selected by BR2_PACKAGE_QT5SVG
package/qt5/qt5svg/Config.in:1:	symbol BR2_PACKAGE_QT5SVG is selected by BR2_PACKAGE_QT5BASE_EXAMPLES
package/qt5/qt5base/Config.in:42:	symbol BR2_PACKAGE_QT5BASE_EXAMPLES depends on BR2_PACKAGE_QT5BASE
For a resolution refer to Documentation/kbuild/kconfig-language.txt
subsection "Kconfig recursive dependency limitations"

Regards,
Peter

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Buildroot] [PATCH v1] package/qt5webengine: examples need qt5svg
  2020-08-11 18:31 ` Peter Seiderer
@ 2020-08-11 19:28   ` Thomas Petazzoni
  2020-08-11 21:26     ` Peter Seiderer
  2020-08-11 21:33     ` Yann E. MORIN
  0 siblings, 2 replies; 5+ messages in thread
From: Thomas Petazzoni @ 2020-08-11 19:28 UTC (permalink / raw)
  To: buildroot

Hello,

+Yann in Cc for Kconfig expertise.

On Tue, 11 Aug 2020 20:31:55 +0200
Peter Seiderer <ps.report@gmx.net> wrote:

> package/qt5/qt5base/Config.in:1:error: recursive dependency detected!
> package/qt5/qt5base/Config.in:1:	symbol BR2_PACKAGE_QT5BASE is selected by BR2_PACKAGE_QT5SVG

Right, this makes sense.

> package/qt5/qt5svg/Config.in:1:	symbol BR2_PACKAGE_QT5SVG is selected by BR2_PACKAGE_QT5BASE_EXAMPLES

This doesn't make any sense to me:

config BR2_PACKAGE_QT5BASE_EXAMPLES
        bool "Compile and install examples (with code)"
        select BR2_PACKAGE_QT5BASE_NETWORK
        select BR2_PACKAGE_QT5BASE_XML
        help
          If unsure, say N.

Neither BR2_PACKAGE_QT5BASE_NETWORK nor BR2_PACKAGE_QT5BASE_XML are
selecting BR2_PACKAGE_QT5SVG.

Or perhaps it is the line added by your patch:

	select BR2_PACKAGE_QT5SVG if BR2_PACKAGE_QT5BASE_EXAMPLES

which causes this statement ?

> package/qt5/qt5base/Config.in:42:	symbol BR2_PACKAGE_QT5BASE_EXAMPLES depends on BR2_PACKAGE_QT5BASE

This obviously makes sense.

> For a resolution refer to Documentation/kbuild/kconfig-language.txt
> subsection "Kconfig recursive dependency limitations"
> 
> Regards,
> Peter
> 



-- 
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Buildroot] [PATCH v1] package/qt5webengine: examples need qt5svg
  2020-08-11 19:28   ` Thomas Petazzoni
@ 2020-08-11 21:26     ` Peter Seiderer
  2020-08-11 21:33     ` Yann E. MORIN
  1 sibling, 0 replies; 5+ messages in thread
From: Peter Seiderer @ 2020-08-11 21:26 UTC (permalink / raw)
  To: buildroot

Hello Thomas, *,

On Tue, 11 Aug 2020 21:28:52 +0200, Thomas Petazzoni <thomas.petazzoni@bootlin.com> wrote:

> Hello,
>
> +Yann in Cc for Kconfig expertise.
>
> On Tue, 11 Aug 2020 20:31:55 +0200
> Peter Seiderer <ps.report@gmx.net> wrote:
>
> > package/qt5/qt5base/Config.in:1:error: recursive dependency detected!
> > package/qt5/qt5base/Config.in:1:	symbol BR2_PACKAGE_QT5BASE is selected by BR2_PACKAGE_QT5SVG
>
> Right, this makes sense.
>
> > package/qt5/qt5svg/Config.in:1:	symbol BR2_PACKAGE_QT5SVG is selected by BR2_PACKAGE_QT5BASE_EXAMPLES
>
> This doesn't make any sense to me:
>
> config BR2_PACKAGE_QT5BASE_EXAMPLES
>         bool "Compile and install examples (with code)"
>         select BR2_PACKAGE_QT5BASE_NETWORK
>         select BR2_PACKAGE_QT5BASE_XML
>         help
>           If unsure, say N.
>
> Neither BR2_PACKAGE_QT5BASE_NETWORK nor BR2_PACKAGE_QT5BASE_XML are
> selecting BR2_PACKAGE_QT5SVG.
>
> Or perhaps it is the line added by your patch:
>
> 	select BR2_PACKAGE_QT5SVG if BR2_PACKAGE_QT5BASE_EXAMPLES
>
> which causes this statement ?
>
> > package/qt5/qt5base/Config.in:42:	symbol BR2_PACKAGE_QT5BASE_EXAMPLES depends on BR2_PACKAGE_QT5BASE
>
> This obviously makes sense.

One option to break the recursive dependency is to delete the
redundant 'select BR2_PACKAGE_QT5BASE' from all packages already
depending/selecting BR2_PACKAGE_QT5, see v2 of suggested patch...

Regards,
Peter

>
> > For a resolution refer to Documentation/kbuild/kconfig-language.txt
> > subsection "Kconfig recursive dependency limitations"
> >
> > Regards,
> > Peter
> >
>
>
>

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Buildroot] [PATCH v1] package/qt5webengine: examples need qt5svg
  2020-08-11 19:28   ` Thomas Petazzoni
  2020-08-11 21:26     ` Peter Seiderer
@ 2020-08-11 21:33     ` Yann E. MORIN
  1 sibling, 0 replies; 5+ messages in thread
From: Yann E. MORIN @ 2020-08-11 21:33 UTC (permalink / raw)
  To: buildroot

Thomas, Peter, All,

On 2020-08-11 21:28 +0200, Thomas Petazzoni spake thusly:
> On Tue, 11 Aug 2020 20:31:55 +0200
> Peter Seiderer <ps.report@gmx.net> wrote:
> > package/qt5/qt5base/Config.in:1:error: recursive dependency detected!
> > package/qt5/qt5base/Config.in:1:	symbol BR2_PACKAGE_QT5BASE is selected by BR2_PACKAGE_QT5SVG
> Right, this makes sense.
> 
> > package/qt5/qt5svg/Config.in:1:	symbol BR2_PACKAGE_QT5SVG is selected by BR2_PACKAGE_QT5BASE_EXAMPLES
> This doesn't make any sense to me:
[--SNIP--]
> Or perhaps it is the line added by your patch:
> 	select BR2_PACKAGE_QT5SVG if BR2_PACKAGE_QT5BASE_EXAMPLES
> which causes this statement ?

AFAICS, yes.

> > package/qt5/qt5base/Config.in:42:	symbol BR2_PACKAGE_QT5BASE_EXAMPLES depends on BR2_PACKAGE_QT5BASE
> This obviously makes sense.

The whole problem we have is that the qt5 symbol is dual;

  - BR2_PACKAGE_QT5 that enables the whole Qt5 stack

  - BR2_PACKAGE_QT5BASE that enables the core component

However, BR2_PACKAGE_QT5 selects BR2_PACKAGE_QT5BASE, and BR2_PACKAGE_QT5BASE
depends on BR2_PACKAGE_QT5.

So both are either enabled or disabled at the same time:

    N N: valid
    N Y: impossible
    Y N: impossible
    Y Y: valid

But kcnfig can't see that the recursive dependency is resolved by
construction of the two symbols, as shown in the validity matrix.

I think we should change all qt5 packages to switch their dependency
onto the package, not the stack, and drop explicit select or depends
since this is implied by the top-level:

    diff --git a/package/qt5/Config.in b/package/qt5/Config.in
    index 5c544ecec4..954e257879 100644
    --- a/package/qt5/Config.in
    +++ b/package/qt5/Config.in
    @@ -36,8 +36,9 @@ menuconfig BR2_PACKAGE_QT5
     	  http://qt.io
     
     if BR2_PACKAGE_QT5
    -source "package/qt5/qt53d/Config.in"
     source "package/qt5/qt5base/Config.in"
    +if BR2_PACKAGE_QT5BASE
    +source "package/qt5/qt53d/Config.in"
     source "package/qt5/qt5charts/Config.in"
     source "package/qt5/qt5connectivity/Config.in"
     source "package/qt5/qt5declarative/Config.in"
    @@ -66,4 +67,5 @@ source "package/qt5/qt5websockets/Config.in"
     source "package/qt5/qt5webview/Config.in"
     source "package/qt5/qt5x11extras/Config.in"
     source "package/qt5/qt5xmlpatterns/Config.in"
    -endif
    +endif # QT5BASE
    +endif # QT5
    diff --git a/package/qt5/qt5svg/Config.in b/package/qt5/qt5svg/Config.in
    index bc80b62674..1c4e90d1d9 100644
    --- a/package/qt5/qt5svg/Config.in
    +++ b/package/qt5/qt5svg/Config.in
    @@ -1,6 +1,6 @@
     config BR2_PACKAGE_QT5SVG
     	bool "qt5svg"
    -	select BR2_PACKAGE_QT5BASE
     	select BR2_PACKAGE_QT5BASE_GUI
     	help
     	  Qt is a cross-platform application and UI framework for

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2020-08-11 21:33 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-08-10 20:38 [Buildroot] [PATCH v1] package/qt5webengine: examples need qt5svg Peter Seiderer
2020-08-11 18:31 ` Peter Seiderer
2020-08-11 19:28   ` Thomas Petazzoni
2020-08-11 21:26     ` Peter Seiderer
2020-08-11 21:33     ` Yann E. MORIN

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.