Bug 12416 - qt5webengine should not use WEBENGINE_CONFIG
Summary: qt5webengine should not use WEBENGINE_CONFIG
Status: RESOLVED MOVED
Alias: None
Product: buildroot
Classification: Unclassified
Component: Other (show other bugs)
Version: unspecified
Hardware: All Linux
: P5 normal
Target Milestone: ---
Assignee: Peter Seiderer
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-12-19 01:56 UTC by JeffyCN
Modified: 2024-06-15 14:51 UTC (History)
2 users (show)

See Also:
Host:
Target:
Build:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description JeffyCN 2019-12-19 01:56:05 UTC
Hi guys,

According to the changes, the WEBENGINE_CONFIG has been removed in 5.10.0:
https://code.qt.io/cgit/qt/qtwebengine.git/commit/?id=1691d2298a8adf511ed95d5aa5d4410adcbdd1e3


qt5webengine-5.12.2$ vi dist/changes-5.9.0

Important Changes
-----------------

 - Configure options are now handled by the global configure script. This
   means options previously controlled by WEBENGINE_CONFIG options should
   now use configure flags. For instance the configure command-line option
   -proprietary-codecs replaces WEBENGINE_CONFIG+=use_proprietary_codecs.

qt5webengine-5.12.2$ vi dist/changes-5.10.0

Important Changes
-----------------

   * WebEngine Features are now configured as Qt features and
     WEBENGINE_CONFIG has been removed.


This works:

+++ b/package/qt5/qt5webengine/qt5webengine.mk
@@ -32,10 +32,10 @@ ifeq ($(BR2_PACKAGE_QT5_VERSION_5_6),)
 QT5WEBENGINE_DEPENDENCIES += host-libpng host-libnss libnss
 endif

-QT5WEBENGINE_QMAKEFLAGS += WEBENGINE_CONFIG+=use_system_ffmpeg
+QT5WEBENGINE_CONFIG += -webengine-ffmpeg

 ifeq ($(BR2_PACKAGE_QT5WEBENGINE_PROPRIETARY_CODECS),y)
-QT5WEBENGINE_QMAKEFLAGS += WEBENGINE_CONFIG+=use_proprietary_codecs
+QT5WEBENGINE_CONFIG += -proprietary-codecs
 endif

 ifeq ($(BR2_PACKAGE_QT5WEBENGINE_ALSA),y)
@@ -66,7 +66,7 @@ QT5WEBENGINE_ENV += GN_PKG_CONFIG_HOST=$(@D)/host-bin/host-pkg-config
 endif

 define QT5WEBENGINE_CONFIGURE_CMDS
-       (cd $(@D); $(TARGET_MAKE_ENV) $(QT5WEBENGINE_ENV) $(HOST_DIR)/bin/qmake $(QT5WEBENGINE_QMAKEFLAGS))
+       (cd $(@D); $(TARGET_MAKE_ENV) $(QT5WEBENGINE_ENV) $(HOST_DIR)/bin/qmake $(QT5WEBENGINE_QMAKEFLAGS) -- $(QT5WEBENGINE_CONFIG))
 endef
Comment 1 Peter Seiderer 2020-02-18 13:47:36 UTC
Thanks for the bug report and suggested patch (and sorry for the delayed response).

Meanwhile Nathan Ford took care of the suggested patch plus missing webp mux and alsa support ([1], [2])..., the suggested patch seems to work for the Qt-latest/5.12.x case ([3])...

One further question out of interest, on which hardware do you run
qtwebengine and how (or which buildroot config/defconfig do you use)?

There is a report from one buildroot user not to be able to run
the minimal example on RaspberryPi Zero (see [4] and [5])...

[1] http://lists.busybox.net/pipermail/buildroot/2020-January/272066.html
[2] https://patchwork.ozlabs.org/patch/1227357/
[3] http://lists.busybox.net/pipermail/buildroot/2020-February/274385.html
[4] http://lists.busybox.net/pipermail/buildroot/2020-February/273320.html
[5] http://lists.busybox.net/pipermail/buildroot/2020-February/273329.html
Comment 2 JeffyCN 2020-02-20 07:27:15 UTC
(In reply to Peter Seiderer from comment #1)
Hi Peter,

Thanks for noticing that.

We are using a custom version of buildroot(2018.02-rc3 with qt5 bumpped to 5.12.2):
https://github.com/rockchip-linux/buildroot/tree/rockchip/2018.02-rc3

Configs: rockchip_*_defconfig, running on a few arm/arm64 based platforms(rockchip evb boards)

We've tested minimal too, did see some issues on arm 32bit platforms:
1/ 5.12.2 would report segfaults, should be fine for the newer versions(e.g. 5.12.5):
https://github.com/rockchip-linux/buildroot/commit/6e4fc810cdea122b1bd86c8649d276c485f794f9

2/ I can't recall the exact phenomenon, could be the same as RaspberryPi's...

It seems like the chromium might be compiled with different fpu setting than the other packages on arm 32bit platform, which is because it would try to detect neon support from the qt5base's CFLAGS and currently buildroot would not specify that there, but embedded in the gcc toolchain instead:

qt5webengine-5.12.2$ vi src/core/config/linux.pri
    # TODO: use neon detection from qtbase
    !lessThan(MARMV, 8) {
        gn_args += arm_use_neon=true
    } else {
        MFPU = $$extractCFlag("-mfpu=.*")
        !isEmpty(MFPU):contains(MFPU, ".*neon.*") {
            gn_args += arm_use_neon=true
        } else {
            gn_args += arm_use_neon=false
            # If the toolchain does not explicitly specify to use NEON instructions
            # we use arm_neon_optional for ARMv7
            equals(MARMV, 7): gn_args += arm_optionally_use_neon=true
        }
    }

https://github.com/rockchip-linux/buildroot/commit/8e832026edbb6e70df283629dadca981854866ad
Comment 3 JeffyCN 2020-05-26 09:25:36 UTC
Hi guys,

the qt packages are using pkg-qmake.mk now, and the pending patch seems to be wrong..:

$(QT5WEBENGINE_QMAKEFLAGS) -- $(QT5WEBENGINE_CONFIG))

needs a '--' between webengine config and other qmake flags.
Comment 4 Yann E. MORIN 2024-06-15 14:51:56 UTC
Thank you for your report.

The issue tracker for the Buildroot project has been moved to
the Gitlab.com issue tracker:
    https://gitlab.com/buildroot.org/buildroot/-/issues

We are taking this opportunity to close old issues in this old
tracker. If you believe your issue is still relevant, please
open one in the new issue tracker.

Thank you!