Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [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