Summary: | >=dev-qt/qtwebengine-5.9.1[system-icu] builds libicuuc part of bundled ICU | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Arfrever Frehtes Taifersar Arahesis <arfrever.fta> |
Component: | Current packages | Assignee: | Qt Bug Alias <qt> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | chiitoo, dschridde+gentoobugs, itumaykin+gentoo, kripton, phantom4, polynomial-c |
Priority: | Normal | Keywords: | PullRequest |
Version: | unspecified | ||
Hardware: | All | ||
OS: | All | ||
See Also: | https://github.com/gentoo/qt/pull/215 | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 652172, 652200 | ||
Attachments: |
qtwebengine.patch
qtwebengine.patch |
Created attachment 494252 [details, diff]
qtwebengine.patch
Commit #1 adds passing of useful options for convenience, e.g. increased verbosity.
Commit #2 adds sanity check for not using of bundled copy of ICU with USE="system-icu".
Commit #3 disables building of libicuuc part of bundled ICU when building GN.
use_system_icu option is set elsewhere in ebuilds using WEBENGINE_CONFIG+=use_system_icu but this is not passed by build system during early part when building GN.
With first 2 commits and without third commit, the following can be seen: ... [320/639] /usr/bin/x86_64-pc-linux-gnu-g++ -MMD -MF obj/base/base_paths/base_paths_posix.o.d -DV8_DEPRECATION_WARNINGS -DENABLE_PLUGINS=1 -DENABLE_PDF=1 -DUSE_UDEV -DUSE_AURA=1 -DUSE_NSS_CERTS=1 -DUSE_X11=1 -DNO_TCMALLOC -DENABLE_WEBRTC=1 -DDISABLE_NACL -DENABLE_TASK_MANAGER=1 -DENABLE_THEMES=1 -DUSE_PROPRIETARY_CODECS -DFULL_SAFE_BROWSING -DSAFE_BROWSING_CSD -DSAFE_BROWSING_DB_LOCAL -DCHROMIUM_BUILD -DFIELDTRIAL_TESTING_ENABLED -DTOOLKIT_QT -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DBASE_IMPLEMENTATION -DU_USING_ICU_NAMESPACE=0 -DU_ENABLE_DYLOAD=0 -DU_STATIC_IMPLEMENTATION -DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_FILE -Igen -I../../../.. -I../../../../third_party/icu/source/common -I../../../../third_party/icu/source/i18n -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -funwind-tables -fPIC -pipe -pthread -m64 -Wall -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -Wno-unused-local-typedefs -Wno-maybe-uninitialized -Wno-missing-field-initializers -Wno-unused-parameter -O2 -fno-ident -fdata-sections -ffunction-sections -g0 -fvisibility=hidden -fno-threadsafe-statics -fvisibility-inlines-hidden -std=gnu++11 -fno-delete-null-pointer-checks -Wno-narrowing -fno-rtti -fno-exceptions -c ../../../../base/base_paths_posix.cc -o obj/base/base_paths/base_paths_posix.o [321/639] /usr/bin/x86_64-pc-linux-gnu-gcc -MMD -MF obj/third_party/icu/bundled_icuuc/uchar.o.d -DU_COMMON_IMPLEMENTATION -DU_ICUDATAENTRY_IN_COMMON -DV8_DEPRECATION_WARNINGS -DENABLE_PLUGINS=1 -DENABLE_PDF=1 -DUSE_UDEV -DUSE_AURA=1 -DUSE_NSS_CERTS=1 -DUSE_X11=1 -DNO_TCMALLOC -DENABLE_WEBRTC=1 -DDISABLE_NACL -DENABLE_TASK_MANAGER=1 -DENABLE_THEMES=1 -DUSE_PROPRIETARY_CODECS -DFULL_SAFE_BROWSING -DSAFE_BROWSING_CSD -DSAFE_BROWSING_DB_LOCAL -DCHROMIUM_BUILD -DFIELDTRIAL_TESTING_ENABLED -DTOOLKIT_QT -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DHAVE_DLOPEN=0 -DUCONFIG_ONLY_HTML_CONVERSION=1 -DU_CHARSET_IS_UTF8=1 -DU_USING_ICU_NAMESPACE=0 -DU_ENABLE_DYLOAD=0 -DU_STATIC_IMPLEMENTATION -DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_FILE -Igen -I../../../.. -I../../../../third_party/icu/source/common -I../../../../third_party/icu/source/i18n -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -funwind-tables -fPIC -pipe -pthread -m64 -O2 -fno-ident -fdata-sections -ffunction-sections -g0 -fvisibility=hidden -Wno-unused-local-typedefs -Wno-maybe-uninitialized -Wno-missing-field-initializers -Wno-unused-parameter -Wno-unused-function -c ../../../../third_party/icu/source/common/uchar.c -o obj/third_party/icu/bundled_icuuc/uchar.o FAILED: obj/third_party/icu/bundled_icuuc/uchar.o /usr/bin/x86_64-pc-linux-gnu-gcc -MMD -MF obj/third_party/icu/bundled_icuuc/uchar.o.d -DU_COMMON_IMPLEMENTATION -DU_ICUDATAENTRY_IN_COMMON -DV8_DEPRECATION_WARNINGS -DENABLE_PLUGINS=1 -DENABLE_PDF=1 -DUSE_UDEV -DUSE_AURA=1 -DUSE_NSS_CERTS=1 -DUSE_X11=1 -DNO_TCMALLOC -DENABLE_WEBRTC=1 -DDISABLE_NACL -DENABLE_TASK_MANAGER=1 -DENABLE_THEMES=1 -DUSE_PROPRIETARY_CODECS -DFULL_SAFE_BROWSING -DSAFE_BROWSING_CSD -DSAFE_BROWSING_DB_LOCAL -DCHROMIUM_BUILD -DFIELDTRIAL_TESTING_ENABLED -DTOOLKIT_QT -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DHAVE_DLOPEN=0 -DUCONFIG_ONLY_HTML_CONVERSION=1 -DU_CHARSET_IS_UTF8=1 -DU_USING_ICU_NAMESPACE=0 -DU_ENABLE_DYLOAD=0 -DU_STATIC_IMPLEMENTATION -DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_FILE -Igen -I../../../.. -I../../../../third_party/icu/source/common -I../../../../third_party/icu/source/i18n -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -funwind-tables -fPIC -pipe -pthread -m64 -O2 -fno-ident -fdata-sections -ffunction-sections -g0 -fvisibility=hidden -Wno-unused-local-typedefs -Wno-maybe-uninitialized -Wno-missing-field-initializers -Wno-unused-parameter -Wno-unused-function -c ../../../../third_party/icu/source/common/uchar.c -o obj/third_party/icu/bundled_icuuc/uchar.o ../../../../third_party/icu/source/common/uchar.c:1:2: error: #error This file should not be used! #error This file should not be used! ^~~~~ ninja: build stopped: subcommand failed. Command '['ninja', '-j1', '-l0', '-v', '-C', '/var/tmp/portage/dev-qt/qtwebengine-5.9.1/work/qtwebengine-opensource-src-5.9.1/src/3rdparty/chromium/tools/gn/out/Release', 'gn']' returned non-zero exit status 1 Project ERROR: GN build error! make[2]: *** [Makefile:63: sub-gn-pro-make_first] Error 3 make[2]: Leaving directory '/var/tmp/portage/dev-qt/qtwebengine-5.9.1/work/qtwebengine-opensource-src-5.9.1/src/buildtools' make[1]: *** [Makefile:54: sub-buildtools-make_first] Error 2 make[1]: Leaving directory '/var/tmp/portage/dev-qt/qtwebengine-5.9.1/work/qtwebengine-opensource-src-5.9.1/src' make: *** [Makefile:47: sub-src-make_first] Error 2 * ERROR: dev-qt/qtwebengine-5.9.1::qt failed (compile phase): * emake failed Created attachment 526660 [details, diff]
qtwebengine.patch
Would it be okay to break the longer lines with some backslashes? Other than that, I'll do a bit more testing and apply the changes in the overlay, unless someone objects. Any progress here? (In reply to Andreas Sturmlechner from comment #5) > Any progress here? +1 Please proceed. We need this in portage. ping... The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/proj/qt.git/commit/?id=ec78602f03852f12ade82e253e60a2853459ecb4 commit ec78602f03852f12ade82e253e60a2853459ecb4 Author: Andreas Sturmlechner <asturm@gentoo.org> AuthorDate: 2020-04-08 21:55:08 +0000 Commit: Andreas Sturmlechner <asturm@gentoo.org> CommitDate: 2020-04-09 17:31:26 +0000 dev-qt/qtwebengine: Sanity check against use of bundled ICU Bug: https://bugs.gentoo.org/630834 Thanks-to: Arfrever Frehtes Taifersar Arahesis <Arfrever@Apache.Org> Package-Manager: Portage-2.3.97, Repoman-2.3.22 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org> dev-qt/qtwebengine/qtwebengine-5.14.9999.ebuild | 13 +++++++++++++ dev-qt/qtwebengine/qtwebengine-5.15.0_beta3.ebuild | 13 +++++++++++++ dev-qt/qtwebengine/qtwebengine-5.15.9999.ebuild | 13 +++++++++++++ dev-qt/qtwebengine/qtwebengine-5.9999.ebuild | 13 +++++++++++++ 4 files changed, 52 insertions(+) https://gitweb.gentoo.org/proj/qt.git/commit/?id=faaca2a472833c6acec812a3474d1bf811b3881b commit faaca2a472833c6acec812a3474d1bf811b3881b Author: Andreas Sturmlechner <asturm@gentoo.org> AuthorDate: 2020-04-08 20:53:06 +0000 Commit: Andreas Sturmlechner <asturm@gentoo.org> CommitDate: 2020-04-09 17:24:00 +0000 dev-qt/qtwebengine: Pass appropriate options to ninja for GN Bug: https://bugs.gentoo.org/630834 Thanks-to: Arfrever Frehtes Taifersar Arahesis <Arfrever@Apache.Org> Package-Manager: Portage-2.3.97, Repoman-2.3.22 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org> dev-qt/qtwebengine/qtwebengine-5.14.9999.ebuild | 4 ++++ dev-qt/qtwebengine/qtwebengine-5.15.0_beta3.ebuild | 4 ++++ dev-qt/qtwebengine/qtwebengine-5.15.9999.ebuild | 4 ++++ dev-qt/qtwebengine/qtwebengine-5.9999.ebuild | 4 ++++ 4 files changed, 16 insertions(+) Though, as far as I can see, it does not make a difference in cc1plus threads... This looks like it was done since a while ago. Thanks! |
>=dev-qt/qtwebengine-5.9.1[system-icu] builds libicuuc part of bundled ICU when building GN using itself. This libicuuc part of bundled ICU is not actually used for linking of anything. GN is built twice: 1. Manually After message: Building gn manually in a temporary directory for bootstrapping... 2. Using itself After message: Building gn using itself to out/Release... Building of libicuuc part of bundled ICU occurs during second building of GN. This happens probably due to this change between dev-qt/qtwebengine-5.9.0 and dev-qt/qtwebengine-5.9.1: --- src/3rdparty/chromium/base/BUILD.gn +++ src/3rdparty/chromium/base/BUILD.gn @@ -103,6 +103,10 @@ configs += [ ":base_implementation" ] + if (!is_win) { + deps = [ "//third_party/icu:icuuc" ] + } + visibility = [ ":base" ] } } @@ -1065,6 +1069,10 @@ ":debugging_flags", ] + if (!is_win) { + public_deps += [ "//third_party/icu:icuuc" ] + } + # Needed for <atomic> if using newer C++ library than sysroot if (!use_sysroot && (is_android || is_linux) && !use_qt) { libs = [ "atomic" ]