Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Peter Seiderer <ps.report@gmx.net>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH v2 2/2] package/qt5/qt5webengine: fix build dependencies for autodetected packages
Date: Fri, 28 Feb 2020 21:23:28 +0100	[thread overview]
Message-ID: <20200228212328.5da3bdd7@gmx.net> (raw)
In-Reply-To: <20200228202431.5dd7c4e5@gmx.net>

Hello Nate,

On Fri, 28 Feb 2020 20:24:31 +0100, Peter Seiderer <ps.report@gmx.net> wrote:

> Hello Nate,
> 
> On Fri, 28 Feb 2020 12:37:22 -0500, Nathan Ford <nford@westpond.com> wrote:
> 
> > I ran into a linker error when I tried to enable minizip, so I omitted it.  
> 
> That is sad...., but is not solved by omitting the dependency (but maybe
> hidden due to build order....on the cost of reproducibility)..., but
> there is no option to disable minizip support (only detected by pkg-config
> and the minizip.pc file provided by minizip-2.9.1, but the version
> seems to be not compatible)...
> 
> > 
> > Did you re-compile qt5base after selecting png / jpeg / harfbuzz?
> > qt5webengine enables them via the qt build system.  
> 
> Yes, full re-build ;-)
> 
> But see no direct enabling through qt5webengine options/select, maybe
> indirect?
> 
> The jpeg test failes with:
> 
> > main.cpp:12:5: error: ?jpeg_crop_scanline? was not declared in this scope; did you mean ?jpeg_read_scanlines??
> >    12 |     jpeg_crop_scanline(nullptr, &dummy, &dummy);
> >       |     ^~~~~~~~~~~~~~~~~~
> >       |     jpeg_read_scanlines
> > main.cpp:13:5: error: ?jpeg_skip_scanlines? was not declared in this scope; did you mean ?jpeg_read_scanlines??
> >    13 |     jpeg_skip_scanlines(nullptr, dummy);
> >       |     ^~~~~~~~~~~~~~~~~~~
> >       |     jpeg_read_scanlines  
> 
> Maybe incompatible version?

With BR2_PACKAGE_JPEG_TURBO (instead of BR2_PACKAGE_LIBJPEG) the
detection succeeds...

Regards,
Peter

> 
> > 
> > icu needs to be enabled explicitly similar to ffmpeg. Don't remember
> > why I omitted it. I'm compiling now to see if there was an issue.  
> 
> Did take a look at build/qt5webengine-5.12.7/config_help.txt:
> 
> WebEngine options:
> 
>   -webengine-alsa ................ Enable ALSA support [auto] (Linux only)
>   -webengine-pulseaudio .......... Enable PulseAudio support [auto]
>                                    (Linux only)
>   -webengine-embedded-build ...... Enable Linux embedded build [auto]
>                                    (Linux only)
>   -webengine-icu ................. Use system ICU libraries [system/qt]
>                                    (Linux only)
>   -webengine-ffmpeg .............. Use system FFmpeg libraries [system/qt]
>                                    (Linux only)
>   -webengine-opus ................ Use system Opus libraries [system/qt]
>                                    (Linux only)
>   -webengine-webp ................ Use system WebP libraries [system/qt]
>                                    (Linux only)
>   -webengine-pepper-plugins ...... Enable use of Pepper Flash and Widevine
>                                    plugins [auto]
>   -webengine-printing-and-pdf .... Enable use of printing and output to PDF
>                                    [auto]
>   -webengine-proprietary-codecs .. Enable support for proprietary codecs [no]
>   -webengine-spellchecker ........ Enable support for spellchecker [yes]
>   -webengine-native-spellchecker . Enable support for native spellchecker [no]
>                                    (macOS only)
>   -webengine-webrtc .............. Enable support for WebRTC [auto]
> 
> There are more 'auto' options, e.g. '-webengine-pulseaudio' which should
> be properly supported including the dependencies by the qt5webengine
> package (or explicitly disabled)...
>  
> > 
> > If libxml2/libxslt is checked, qt5webengine will skip them because
> > libxml2 is not built with ICU support. libxml2 needs a configure
> > switch to explicitly enable it. I have a patch that does this if ICU
> > is enabled, but I don't know if implicitly enabling it would have
> > ramifications, otherwise why is it not auto detected?  
> 
> The libxml2/libxslt test simply fails with:
> 
> > xml2.cpp:31:2: error: #error "libxml icu not enabled"
> >    31 | #error "libxml icu not enabled"
> >       |  ^~~~~  
> 
> Regards,
> Peter
> 
> > 
> > --Nate
> > 
> > 
> > 
> > On Fri, Feb 28, 2020 at 10:59 AM Peter Seiderer <ps.report@gmx.net> wrote:  
> > >
> > > Re-add CC: Nathan Ford <nford@westpond.com>
> > >
> > > On Fri, 28 Feb 2020 16:56:45 +0100, Peter Seiderer <ps.report@gmx.net> wrote:
> > >    
> > > > Hello Nathan,
> > > >
> > > > On Fri, 28 Feb 2020 09:39:15 -0500, Nathan Ford <nford@westpond.com> wrote:
> > > >    
> > > > > Signed-off-by: Nathan Ford <nford@westpond.com>
> > > > > ---
> > > > >  package/qt5/qt5webengine/qt5webengine.mk | 28 ++++++++++++++++++++++++++++
> > > > >  1 file changed, 28 insertions(+)
> > > > >
> > > > > diff --git a/package/qt5/qt5webengine/qt5webengine.mk b/package/qt5/qt5webengine/qt5webengine.mk
> > > > > index 3824738..e5f8421 100644
> > > > > --- a/package/qt5/qt5webengine/qt5webengine.mk
> > > > > +++ b/package/qt5/qt5webengine/qt5webengine.mk
> > > > > @@ -60,6 +60,34 @@ QT5WEBENGINE_QMAKEFLAGS += QT_CONFIG-=alsa
> > > > >  endif
> > > > >  endif
> > > > >
> > > > > +ifeq ($(BR2_PACKAGE_JSONCPP),y)
> > > > > +QT5WEBENGINE_DEPENDENCIES += jsoncpp
> > > > > +endif
> > > > > +
> > > > > +ifeq ($(BR2_PACKAGE_LCMS2),y)
> > > > > +QT5WEBENGINE_DEPENDENCIES += lcms2
> > > > > +endif
> > > > > +
> > > > > +ifeq ($(BR2_PACKAGE_LIBEVENT),y)
> > > > > +QT5WEBENGINE_DEPENDENCIES += libevent
> > > > > +endif
> > > > > +
> > > > > +ifeq ($(BR2_PACKAGE_LIBXML2),y)
> > > > > +QT5WEBENGINE_DEPENDENCIES += libxml2
> > > > > +endif
> > > > > +
> > > > > +ifeq ($(BR2_PACKAGE_LIBXSLT),y)
> > > > > +QT5WEBENGINE_DEPENDENCIES += libxslt
> > > > > +endif
> > > > > +
> > > > > +ifeq ($(BR2_PACKAGE_PROTOBUF),y)
> > > > > +QT5WEBENGINE_DEPENDENCIES += protobuf
> > > > > +endif
> > > > > +
> > > > > +ifeq ($(BR2_PACKAGE_SNAPPY),y)
> > > > > +QT5WEBENGINE_DEPENDENCIES += snappy
> > > > > +endif
> > > > > +    
> > > >
> > > > According to build/qt5webengine-5.12.7/config.summary:
> > > >
> > > >   Optional system libraries used:
> > > >     re2 .................................. no   ---> not in buildroot
> > > >     icu .................................. no   ---> handled by select BR2_PACKAGE_QT5BASE_ICU but not found (version mismatch)?
> > > >     libwebp, libwebpmux and libwebpdemux . yes  ---> already handled and fixed by your previous patch
> > > >     opus ................................. yes  ---> already handled
> > > >     ffmpeg ............................... yes  ---> already handled
> > > >     libvpx ............................... yes  ---> already handled
> > > >     snappy ............................... yes  ---> handled by our patch
> > > >     glib ................................. yes  ---> already handled
> > > >     zlib ................................. yes  ---> handled by qt5base
> > > >     minizip .............................. no
> > > >     libevent ............................. no   ---> handled by our patch
> > > >     jsoncpp .............................. no   ---> handled by our patch
> > > >     protobuf ............................. no   ---> handled by our patch
> > > >     libxml2 and libxslt .................. no   ---> handled by our patch
> > > >     lcms2 ................................ no   ---> handled by our patch
> > > >     png .................................. yes  ---> handled by qt5base (only in case BR2_PACKAGE_QT5BASE_PNG is set)?
> > > >     JPEG ................................. no   ---> handled by qt5base (only in case BR2_PACKAGE_QT5BASE_JPEG is set)? In my config
> > > >                                                      BR2_PACKAGE_QT5BASE_JPEG is set but not found?
> > > >     harfbuzz ............................. yes  ---> handled by qt5base (only in case BR2_PACKAGE_QT5BASE_HARFBUZZ and BR2_TOOLCHAIN_HAS_SYNC_4 is set)?
> > > >     freetype ............................. yes  ---> handled by qt5base
> > > >
> > > > So your patch is definitely an improvement and you can add my
> > > >
> > > > Reviewed-by: Peter Seiderer <ps.report@gmx.net>
> > > >
> > > > Care to take a look if the buildroot package minizip is sufficient for qt5webengine?
> > > >
> > > > Leaving icu, png, jpeg and harfbuzz for more research....
> > > >
> > > > Regards,
> > > > Peter
> > > >    
> > > > >  # QtWebengine's build system uses python, but only supports python2. We work
> > > > >  # around this by forcing python2 early in the PATH, via a python->python2
> > > > >  # symlink.    
> > > >    
> > >    
> > _______________________________________________
> > buildroot mailing list
> > buildroot at busybox.net
> > http://lists.busybox.net/mailman/listinfo/buildroot  
> 

  reply	other threads:[~2020-02-28 20:23 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-02-28 14:39 [Buildroot] [PATCH v2 1/2] package/qt5/qt5webengine: fix ffmpeg/codec/alsa option handling for latest Nathan Ford
2020-02-28 14:39 ` [Buildroot] [PATCH v2 2/2] package/qt5/qt5webengine: fix build dependencies for autodetected packages Nathan Ford
2020-02-28 15:56   ` Peter Seiderer
2020-02-28 15:59     ` Peter Seiderer
2020-02-28 17:37       ` Nathan Ford
2020-02-28 19:24         ` Peter Seiderer
2020-02-28 20:23           ` Peter Seiderer [this message]
2020-02-28 22:04             ` Nathan Ford
2020-02-28 15:23 ` [Buildroot] [PATCH v2 1/2] package/qt5/qt5webengine: fix ffmpeg/codec/alsa option handling for latest Peter Seiderer
2020-02-28 15:44   ` Nathan Ford
2020-02-28 16:04     ` Peter Seiderer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200228212328.5da3bdd7@gmx.net \
    --to=ps.report@gmx.net \
    --cc=buildroot@busybox.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox