QtWebengine requires libwebp-native, but support for it was added
in nanbield. To support kirkstone builds, add bbappend to enable
the native builds.
Change-Id: Id94addf24f19552b6fb6fc074e0a5c51199b877f
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
(cherry picked from commit a36b5a05b4)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 7c4a586d1f)
Latest qtwebengine does the right thing by not looking into build host's
rootfs but this means we need to add libevent to native sysroot to meet
this dependency, otherwise gn fails to find it and build fails like
below
Fixes:
| -- GN FAILED
|-
| ERROR at //build/config/linux/pkg_config.gni:104:17
| (//build/toolchain/yocto:yocto_native): Script returned non-zero exit code.
|-
| pkgresult = exec_script(pkg_config_script, args, "value")
| ^----------
|-
| Current dir:
| /mnt/b/yoe/master/build/tmp/work/cortexa72-yoe-linux/qtwebengine/6.6.2/build/src/core/Release/aarch64/
|-
|-
| Command:
| /mnt/b/yoe/master/build/tmp/work/cortexa72-yoe-linux/qtwebengine/6.6.2/recipe-sysroot-native/usr/bin/python3-native/python3
| /mnt/b/yoe/master/build/tmp/work/cortexa72-yoe-linux/qtwebengine/6.6.2/git/src/3rdparty/chromium/build/config/linux/pkg-config.py
| -p
| /mnt/b/yoe/master/build/tmp/work/cortexa72-yoe-linux/qtwebengine/6.6.2/recipe-sysroot-native/usr/bin/pkg-config-native
| libevent
|-
| Returned 1.
|-
| stderr:
|-
|-
|-
| Package libevent was not found in the pkg-config search path.
|-
| Perhaps you should add the directory containing `libevent.pc'
|-
| to the PKG_CONFIG_PATH environment variable
|-
| No package 'libevent' found
|-
| Could not run pkg-config.
Pick-to: 6.5.11
Change-Id: I66d8806be14d2d4d57dca2d93688d5b58e0e1cb6
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
(cherry picked from commit bc941d6f9a)
chromium has a way to use right pkg-config for in-tree hosttools which
are built and used during cross build of qtwebengine, since OE
pkg-config environment is set for detecting .pc files from sysroot,it
ends up reading wrong pkg-config files for host pieces and adds
-L<sysroot>/usr/lib to linker cmdline for hosttools too, this goes by
fine with gnu BFD linker since it ignores linker script files like
<sysroot>/usr/lib/libc.so, but when we use LLD linker, it ends up in
error, because it tries to process the content of libc.so which have
target absolute paths for ldso etc. /usr/lib/ld-linux-aarch64.so.1
LLD tries to open these files and ofcouse can't find them because
they are only found in target sysroot.
The underlying problem is that we need to be explicit about pkg-config
which is thusly implemented by this patch. This fixes build with
clang+lld and link times for qtwebegine is reduced by 26% in my case.
Pick-to: 6.5.11
Change-Id: Id091200444eb97d4b44d984888a8aa16b75ff9d7
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
(cherry picked from commit 5daa561cad)
When using gold linker, qtbase PACKAGECONFIG[use-gold-linker],
qtwegengine may fail to build with linker error:
| FAILED: yocto_native/transport_security_state_generator
| /home/qt/work/build/build/tmp/hosttools/ld.gold: fatal error: /home/qt/work/build/build/tmp/work/cortexa15t2hf-neon-poky-linux-gnueabi/qtwebengine/6.5.11/recipe-sysroot/usr/lib/libatomic.so: unsupported ELF machine number 40
| collect2: error: ld returned 1 exit status
The failure happens when chromium tries to build native host tools,
but links those against target sysroot. Exact reason why the target
sysroot is used is still unknown, but we can workaround this by
preventing webengine from using gold linker for those host tools.
Change-Id: I49512d8024249d96da0e1475c045c03e5ae25760
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
Disable sql-mysql when using kirkstone to avoid mariadb-native
build failure with GCC13 when using Ubuntu 24.04 VM.
"build/tmp/work/x86_64-linux/mariadb-native/10.7.8-r0/mariadb-10.7.8/storage/rocksdb/rocksdb/db/compaction/compaction_iteration_stats.h:23:3: error: ‘uint64_t’ does not name a type"
Change-Id: Ib40a892713d09f55bae56814b2cec6dcc76a360e
Reviewed-by: Ari Parkkila <ari.parkkila@qt.io>
(cherry picked from commit d807bd38a3)
(cherry picked from commit bd1a3511e4)
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
After CI platform update to Ubuntu 24.04, yocto dunfell
is not supported anymore due dependency to deprecated
python module asyncore.
Replace deprecated CI target dunfell -> kirkstone.
Change-Id: I1ef7c745e6210892f18b3e656ab70366d06c10f9
Reviewed-by: Ari Parkkila <ari.parkkila@qt.io>
The xnnpack build has own march flags, which are getting
overridden by yocto setup, this ends in broken compilation,
as gn has no clue about override. Therefore, build webnn
without xnnpack on yocto.
Change-Id: I426a452a5608a5da3bc630f8ec3389e0eb313ef4
Reviewed-by: Mikko Gronoff <mikko.gronoff@qt.io>
(cherry picked from commit a4ed875ee2)
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
(cherry picked from commit 4874464cf0)
Reviewed-by: Samuli Piippo <samuli.piippo@qt.io>