* [Buildroot] [PATCH 1/1] package/qt5webengine: don't use system ICU libraries
@ 2023-10-25 21:29 Kadir Yilmaz
2024-06-06 9:52 ` Yann E. MORIN
2024-07-15 10:15 ` Thomas Petazzoni via buildroot
0 siblings, 2 replies; 4+ messages in thread
From: Kadir Yilmaz @ 2023-10-25 21:29 UTC (permalink / raw)
To: buildroot; +Cc: Giulio Benetti, Kadir Yilmaz, Julien Corjon
With the "-webengine-icu" config option qt5webengine uses icu headers
on the build host. If (for ubuntu) libicu-dev is not installed on the
system, build fails with:
In file included from ../../3rdparty/chromium/v8/src/regexp/gen-regexp-special-case.cc:10:
../../3rdparty/chromium/v8/src/regexp/special-case.h:12:10: fatal error: unicode/uchar.h: No such file or directory
12 | #include "unicode/uchar.h"
| ^~~~~~~~~~~~~~~~~
compilation terminated.
Otherwise, if (for ubuntu) libicu-dev is installed on the system, build
fails later at linking stage.
Using icu bundled with qt solves this problem
Signed-off-by: Kadir Yilmaz <kadir.c.yilmaz@gmail.com>
---
package/qt5/qt5webengine/qt5webengine.mk | 1 -
1 file changed, 1 deletion(-)
diff --git a/package/qt5/qt5webengine/qt5webengine.mk b/package/qt5/qt5webengine/qt5webengine.mk
index 836ba62189..c028246589 100644
--- a/package/qt5/qt5webengine/qt5webengine.mk
+++ b/package/qt5/qt5webengine/qt5webengine.mk
@@ -87,7 +87,6 @@ QT5WEBENGINE_DEPENDENCIES += \
QT5WEBENGINE_CONF_OPTS += \
-webengine-embedded-build \
-webengine-ffmpeg \
- -webengine-icu \
-webengine-opus \
-webengine-webchannel \
-webengine-webp \
--
2.25.1
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [Buildroot] [PATCH 1/1] package/qt5webengine: don't use system ICU libraries
2023-10-25 21:29 [Buildroot] [PATCH 1/1] package/qt5webengine: don't use system ICU libraries Kadir Yilmaz
@ 2024-06-06 9:52 ` Yann E. MORIN
2024-07-15 10:15 ` Thomas Petazzoni via buildroot
1 sibling, 0 replies; 4+ messages in thread
From: Yann E. MORIN @ 2024-06-06 9:52 UTC (permalink / raw)
To: Kadir Yilmaz; +Cc: Giulio Benetti, James Hilliard, buildroot
Kadir, All,
Thank you for the patch, and again, sorry to come back to it so late...
+James, who bumped to a version that had the hos-icu dependency
On 2023-10-25 23:29 +0200, Kadir Yilmaz spake thusly:
> With the "-webengine-icu" config option qt5webengine uses icu headers
> on the build host. If (for ubuntu) libicu-dev is not installed on the
> system, build fails with:
>
> In file included from ../../3rdparty/chromium/v8/src/regexp/gen-regexp-special-case.cc:10:
> ../../3rdparty/chromium/v8/src/regexp/special-case.h:12:10: fatal error: unicode/uchar.h: No such file or directory
> 12 | #include "unicode/uchar.h"
> | ^~~~~~~~~~~~~~~~~
> compilation terminated.
>
> Otherwise, if (for ubuntu) libicu-dev is installed on the system, build
> fails later at linking stage.
>
> Using icu bundled with qt solves this problem
This is weird, because qt5webengine already contains a dependency on
host-icu, so ehther the host distro has or does not have icu development
files, the build should use our owns,
> Signed-off-by: Kadir Yilmaz <kadir.c.yilmaz@gmail.com>
> ---
> package/qt5/qt5webengine/qt5webengine.mk | 1 -
> 1 file changed, 1 deletion(-)
>
> diff --git a/package/qt5/qt5webengine/qt5webengine.mk b/package/qt5/qt5webengine/qt5webengine.mk
> index 836ba62189..c028246589 100644
> --- a/package/qt5/qt5webengine/qt5webengine.mk
> +++ b/package/qt5/qt5webengine/qt5webengine.mk
> @@ -87,7 +87,6 @@ QT5WEBENGINE_DEPENDENCIES += \
> QT5WEBENGINE_CONF_OPTS += \
> -webengine-embedded-build \
> -webengine-ffmpeg \
> - -webengine-icu \
> -webengine-opus \
> -webengine-webchannel \
> -webengine-webp \
> --
> 2.25.1
>
> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot
--
.-----------------.--------------------.------------------.--------------------.
| 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. |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Buildroot] [PATCH 1/1] package/qt5webengine: don't use system ICU libraries
2023-10-25 21:29 [Buildroot] [PATCH 1/1] package/qt5webengine: don't use system ICU libraries Kadir Yilmaz
2024-06-06 9:52 ` Yann E. MORIN
@ 2024-07-15 10:15 ` Thomas Petazzoni via buildroot
2024-08-27 15:57 ` Peter Korsgaard
1 sibling, 1 reply; 4+ messages in thread
From: Thomas Petazzoni via buildroot @ 2024-07-15 10:15 UTC (permalink / raw)
To: Kadir Yilmaz; +Cc: Giulio Benetti, Julien Corjon, buildroot
Hello Kadir,
On Wed, 25 Oct 2023 23:29:24 +0200
Kadir Yilmaz <kadir.c.yilmaz@gmail.com> wrote:
> With the "-webengine-icu" config option qt5webengine uses icu headers
> on the build host. If (for ubuntu) libicu-dev is not installed on the
> system, build fails with:
>
> In file included from ../../3rdparty/chromium/v8/src/regexp/gen-regexp-special-case.cc:10:
> ../../3rdparty/chromium/v8/src/regexp/special-case.h:12:10: fatal error: unicode/uchar.h: No such file or directory
> 12 | #include "unicode/uchar.h"
> | ^~~~~~~~~~~~~~~~~
> compilation terminated.
>
> Otherwise, if (for ubuntu) libicu-dev is installed on the system, build
> fails later at linking stage.
>
> Using icu bundled with qt solves this problem
>
> Signed-off-by: Kadir Yilmaz <kadir.c.yilmaz@gmail.com>
> ---
> package/qt5/qt5webengine/qt5webengine.mk | 1 -
> 1 file changed, 1 deletion(-)
I have applied your patch, with an improved commit log, as part of a
larger set of 13 patches to fix the build of qt5webengine (which now
builds fine for me on ARM64), with all those fixes. See your final
commit at:
https://gitlab.com/buildroot.org/buildroot/-/commit/ca7cedaa8cab0a0ac0fc48c2f40c4e6a84fb6877
If you are able to test the latest master, and report back if
qt5webengine now works for you, it'd be amazing!
Thanks!
Thomas
--
Thomas Petazzoni, CTO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [Buildroot] [PATCH 1/1] package/qt5webengine: don't use system ICU libraries
2024-07-15 10:15 ` Thomas Petazzoni via buildroot
@ 2024-08-27 15:57 ` Peter Korsgaard
0 siblings, 0 replies; 4+ messages in thread
From: Peter Korsgaard @ 2024-08-27 15:57 UTC (permalink / raw)
To: Thomas Petazzoni via buildroot
Cc: Giulio Benetti, Kadir Yilmaz, Julien Corjon, Thomas Petazzoni
>>>>> "Thomas" == Thomas Petazzoni via buildroot <buildroot@buildroot.org> writes:
Hi,
> I have applied your patch, with an improved commit log, as part of a
> larger set of 13 patches to fix the build of qt5webengine (which now
> builds fine for me on ARM64), with all those fixes. See your final
> commit at:
> https://gitlab.com/buildroot.org/buildroot/-/commit/ca7cedaa8cab0a0ac0fc48c2f40c4e6a84fb6877
> If you are able to test the latest master, and report back if
> qt5webengine now works for you, it'd be amazing!
FYI, I tried to backport these to 2024.02.x as well, but end up with a
compilation error somewhere in skia:
[3/11052] CXX obj/skia/skia/SkParseColor.o
FAILED: obj/skia/skia/SkParseColor.o
/home/peko/source/buildroot/output-web/host/bin/aarch64-linux-g++ -MMD -MF obj/skia/skia/SkParseColor.o.d -DUSE_UDEV -DUSE_AURA=1 -DUSE_NSS_CERTS=1 -DUSE_OZONE=1 -DOFFICIAL_BUILD -DTOOLKIT_QT -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DNO_UNWIND_TABLES -DCR_SYSROOT_HASH=ef67b6ca8fd6e2e51515a243d043d1ea4caf45e6 -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DSK_CODEC_DECODES_PNG -DSK_CODEC_DECODES_WEBP -DSK_ENCODE_PNG -DSK_ENCODE_WEBP -DSK_USER_CONFIG_HEADER=\"../../skia/config/SkUserConfig.h\" -DSK_GL -DSK_CODEC_DECODES_JPEG -DSK_ENCODE_JPEG -DSK_USE_LIBGIFCODEC -DSK_VULKAN_HEADER=\"../../skia/config/SkVulkanConfig.h\" -DSK_VULKAN=1 -DSK_SUPPORT_GPU=1 -DSK_GPU_WORKAROUNDS_HEADER=\"gpu/config/gpu_driver_bug_workaround_autogen.h\" -DSKIA_IMPLEMENTATION=1 -DSK_GAMMA_EXPONENT=1.2 -DSK_GAMMA_CONTRAST=0.2 -DSK_DEFAULT_FONT_CACHE_LIMIT=20971520 -DUSE_SYSTEM_LIBJPEG -DU_USING_ICU_NAMESPACE=0 -DU_ENABLE_DYLOAD=0 -DUSE_CHROMIUM_ICU=1 -DU_ENABLE_TRACING=1 -DU_ENABLE_RESOURCE_TRACING=0 -DU_STATIC_IMPLEMENTATION -DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_FILE -DUCHAR_TYPE=uint16_t -Igen -I../../3rdparty/chromium -I../../3rdparty/chromium/third_party/skia -I../../3rdparty/chromium/third_party/libgifcodec -I../../3rdparty/chromium/third_party/vulkan/include -I../../3rdparty/chromium/third_party/vulkan_headers/include -I../../3rdparty/chromium/third_party/perfetto/include -Igen/third_party/perfetto/build_config -Igen/third_party/perfetto -Igen -Igen -Igen -Igen -I../../3rdparty/chromium/third_party/abseil-cpp -I../../3rdparty/chromium/third_party/boringssl/src/include -I../../3rdparty/chromium/third_party/protobuf/src -Igen/protoc_out -I../../3rdparty/chromium/third_party/icu/source/common -I../../3rdparty/chromium/third_party/icu/source/i18n -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -fno-unwind-tables -fno-asynchronous-unwind-tables -fPIC -pipe -pthread -fno-omit-frame-pointer -g0 -fvisibility=hidden -Wno-unused-local-typedefs -Wno-maybe-uninitialized -Wno-deprecated-declarations -fno-delete-null-pointer-checks -Wno-comments -Wno-packed-not-aligned -Wno-dangling-else -Wno-missing-field-initializers -Wno-unused-parameter -O2 -fno-ident -fdata-sections -ffunction-sections -I/home/peko/source/buildroot/output-web/host/aarch64-buildroot-linux-gnu/sysroot/usr/include/libpng16 -I/home/peko/source/buildroot/output-web/host/aarch64-buildroot-linux-gnu/sysroot/usr/include -I/home/peko/source/buildroot/output-web/host/aarch64-buildroot-linux-gnu/sysroot/usr/include -I/home/peko/source/buildroot/output-web/host/aarch64-buildroot-linux-gnu/sysroot/usr/include/webp -I/home/peko/source/buildroot/output-web/host/aarch64-buildroot-linux-gnu/sysroot/usr/include/freetype2 -I/home/peko/source/buildroot/output-web/host/aarch64-buildroot-linux-gnu/sysroot/usr/include -I/home/peko/source/buildroot/output-web/host/aarch64-buildroot-linux-gnu/sysroot/usr/include/libpng16 -I/home/peko/source/buildroot/output-web/host/aarch64-buildroot-linux-gnu/sysroot/usr/include -std=gnu++14 -fno-exceptions -fno-rtti --sysroot=/home/peko/source/buildroot/output-web/host/aarch64-buildroot-linux-gnu/sysroot -fvisibility-inlines-hidden -std=c++17 -Wno-narrowing -Wno-class-memaccess -Wno-attributes -Wno-class-memaccess -Wno-subobject-linkage -Wno-invalid-offsetof -Wno-return-type -Wno-deprecated-copy -c ../../3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp -o obj/skia/skia/SkParseColor.o
../../3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp: In static member function ‘static const char* SkParse::FindNamedColor(const char*, size_t, SkColor*)’:
../../3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp:300:49: error: no matching function for call to ‘begin(const char* const [140])’
300 | const auto rec = std::lower_bound(std::begin(gColorNames),
| ~~~~~~~~~~^~~~~~~~~~~~~
In file included from /home/peko/source/buildroot/output-web/host/opt/ext-toolchain/aarch64-buildroot-linux-gnu/include/c++/12.3.0/utility:73,
from ../../3rdparty/chromium/third_party/skia/include/core/SkImageInfo.h:11,
from ../../3rdparty/chromium/third_party/skia/include/core/SkColor.h:11,
from ../../3rdparty/chromium/third_party/skia/include/utils/SkParse.h:13,
from ../../3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp:9:
/home/peko/source/buildroot/output-web/host/opt/ext-toolchain/aarch64-buildroot-linux-gnu/include/c++/12.3.0/initializer_list:90:5: note: candidate: ‘template<class _Tp> constexpr const _Tp* std::begin(initializer_list<_Tp>)’
90 | begin(initializer_list<_Tp> __ils) noexcept
| ^~~~~
/home/peko/source/buildroot/output-web/host/opt/ext-toolchain/aarch64-buildroot-linux-gnu/include/c++/12.3.0/initializer_list:90:5: note: template argument deduction/substitution failed:
../../3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp:300:49: note: mismatched types ‘std::initializer_list<_Tp>’ and ‘const char* const*’
300 | const auto rec = std::lower_bound(std::begin(gColorNames),
| ~~~~~~~~~~^~~~~~~~~~~~~
../../3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp:301:49: error: no matching function for call to ‘end(const char* const [140])’
301 | std::end (gColorNames),
| ~~~~~~~~~~^~~~~~~~~~~~~
/home/peko/source/buildroot/output-web/host/opt/ext-toolchain/aarch64-buildroot-linux-gnu/include/c++/12.3.0/initializer_list:101:5: note: candidate: ‘template<class _Tp> constexpr const _Tp* std::end(initializer_list<_Tp>)’
101 | end(initializer_list<_Tp> __ils) noexcept
| ^~~
/home/peko/source/buildroot/output-web/host/opt/ext-toolchain/aarch64-buildroot-linux-gnu/include/c++/12.3.0/initializer_list:101:5: note: template argument deduction/substitution failed:
../../3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp:301:49: note: mismatched types ‘std::initializer_list<_Tp>’ and ‘const char* const*’
301 | std::end (gColorNames),
| ~~~~~~~~~~^~~~~~~~~~~~~
../../3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp:307:24: error: no matching function for call to ‘end(const char* const [140])’
307 | if (rec == std::end(gColorNames) || 0 != strcmp(name, *rec)) {
| ~~~~~~~~^~~~~~~~~~~~~
/home/peko/source/buildroot/output-web/host/opt/ext-toolchain/aarch64-buildroot-linux-gnu/include/c++/12.3.0/initializer_list:101:5: note: candidate: ‘template<class _Tp> constexpr const _Tp* std::end(initializer_list<_Tp>)’
101 | end(initializer_list<_Tp> __ils) noexcept
| ^~~
/home/peko/source/buildroot/output-web/host/opt/ext-toolchain/aarch64-buildroot-linux-gnu/include/c++/12.3.0/initializer_list:101:5: note: template argument deduction/substitution failed:
../../3rdparty/chromium/third_party/skia/src/utils/SkParseColor.cpp:307:24: note: mismatched types ‘std::initializer_list<_Tp>’ and ‘const char* const*’
307 | if (rec == std::end(gColorNames) || 0 != strcmp(name, *rec)) {
| ~~~~~~~~^~~~~~~~~~~~~
[7/11052] CXX obj/skia/skia/SkShadowUtils.o
ninja: build stopped: subcommand failed.
make[5]: *** [Makefile.gn_run:360: run_ninja] Error 1
make[4]: *** [Makefile:82: sub-gn_run-pro-make_first] Error 2
make[3]: *** [Makefile:79: sub-core-make_first] Error 2
make[2]: *** [Makefile:49: sub-src-make_first] Error 2
make[1]: *** [package/pkg-generic.mk:283: /home/peko/source/buildroot/output-web/build/qt5webengine-5.15.11/.stamp_built] Error 2
So I have dropped these patches for now. If someone needs them, please
send a valid patch series for 2024.02.x, thanks.
--
Bye, Peter Korsgaard
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2024-08-27 15:58 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-10-25 21:29 [Buildroot] [PATCH 1/1] package/qt5webengine: don't use system ICU libraries Kadir Yilmaz
2024-06-06 9:52 ` Yann E. MORIN
2024-07-15 10:15 ` Thomas Petazzoni via buildroot
2024-08-27 15:57 ` Peter Korsgaard
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox