Closed MaxIhlenfeldt closed 1 year ago
The dunfell problems mentioned in #722 are still there for me, so I need to rely on your testing @nrpt-m @rwmacleod to ensure that the dunfell build still works. We might still be missing some patches, so if possible, please start your testing with dunfell, so we can later test the other releases with any potential additional patches.
The dunfell problems mentioned in #722 are still there for me, so I need to rely on your testing @nrpt-m @rwmacleod to ensure that the dunfell build still works. We might still be missing some patches, so if possible, please start your testing with dunfell, so we can later test the other releases with any potential additional patches.
Sure, @MaxIhlenfeldt. I am starting my testing with dunfell branch and let you know if any build error.
@MaxIhlenfeldt , I am getting below build error in dunfell.
[22420/59395] aarch64-poky-linux-clang++ -target aarch64-poky-linux -mcpu=cortex-a72+crc+crypto -rtlib=compiler-rt --unwindlib=libgcc -stdlib=libc++ -mlittle-endian -Qunused-arguments -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security --sysroot=/buildarea/eng1/chromium/build-chrom114/dunfell/tmp/work/aarch64-poky-linux/chromium-x11/114.0.5735.133-r0/recipe-sysroot -MMD -MF obj/third_party/pdfium/fxbarcode/fxbarcode/BC_ErrorCorrection.o.d -DUSE_UDEV -DUSE_AURA=1 -DUSE_GLIB=1 -DUSE_OZONE=1 -DOFFICIAL_BUILD -DSTDC_CONSTANT_MACROS -DSTDC_FORMAT_MACROS -D_FORTIFY_SOURCE=2 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DNO_UNWIND_TABLES -D_GNU_SOURCE -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DOPJ_STATIC -D_SKIASUPPORT -DPDF_USE_PARTITION_ALLOC -DPDF_ENABLE_V8 -DPDF_ENABLE_XFA -DPDF_ENABLE_XFA_BMP -DPDF_ENABLE_XFA_GIF -DPDF_ENABLE_XFA_PNG -DPDF_ENABLE_XFA_TIFF -DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_56 -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_56 -DBASE_USE_PERFETTO_CLIENT_LIBRARY=1 -DWEBP_EXTERN=extern -DFT_CONFIG_MODULES_H=\"freetype-custom/freetype/config/ftmodule.h\" -DFT_CONFIG_OPTIONS_H=\"freetype-custom/freetype/config/ftoption.h\" -DPDFIUM_REQUIRED_MODULES -DCHROMIUM_RESTRICT_VISIBILITY -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 -DSK_CODEC_DECODES_PNG -DSK_CODEC_DECODES_WEBP -DSK_ENCODE_PNG -DSK_ENCODE_WEBP -DSK_ENABLE_SKSL -DSK_UNTIL_CRBUG_1187654_IS_FIXED -DSK_USER_CONFIG_HEADER=\"../../skia/config/SkUserConfig.h\" -DSK_WIN_FONTMGR_NO_SIMULATIONS -DSK_DISABLE_LEGACY_IMAGE_FACTORIES -DSK_DISABLE_LEGACY_MAKE_TEXTURE_IMAGE -DSK_DISABLE_LEGACY_IMAGE_FLUSH -DSK_DISABLE_LEGACY_GET_BACKEND_TEXTURE -DSK_DISABLE_LEGACY_IMAGE_ENCODE_METHODS -DSK_DISABLE_LEGACY_IMAGE_ENCODER -DSK_CODEC_DECODES_JPEG -DSK_ENCODE_JPEG -DSK_HAS_WUFFS_LIBRARY -DSK_GANESH -DSK_GPU_WORKAROUNDS_HEADER=\"gpu/config/gpu_driver_bug_workaround_autogen.h\" -DSK_GL -DSK_VULKAN=1 -DVK_USE_PLATFORM_XCB_KHR -I../.. -Igen -I../../third_party/pdfium -I../../third_party/perfetto/include -Igen/third_party/perfetto/build_config -Igen/third_party/perfetto -I../../third_party/libwebp/src/src -I../../third_party/freetype/include -I../../third_party/freetype/include/freetype-custom -I../../third_party/freetype/src/include -I../../third_party/harfbuzz-ng/src/src -I../../third_party/abseil-cpp -I../../third_party/icu/source/common -I../../third_party/icu/source/i18n -I../../third_party/skia -I../../third_party/wuffs/src/release/c -I../../third_party/vulkan/include -I../../third_party/vulkan-deps/vulkan-headers/src/include -Wall -Wextra -Wimplicit-fallthrough -Wextra-semi -Wunreachable-code-aggressive -Wthread-safety -Wno-missing-field-initializers -Wno-unused-parameter -Wno-psabi -Wloop-analysis -Wno-unneeded-internal-declaration -Wenum-compare-conditional -Wno-unknown-warning-option -Wno-ignored-pragma-optimize -Wno-deprecated-builtins -Wno-bitfield-constant-conversion -Wno-deprecated-this-capture -Wshadow -fno-delete-null-pointer-checks -fno-ident -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -fno-unwind-tables -fno-asynchronous-unwind-tables -fPIC -pthread -fcolor-diagnostics -fmerge-all-constants -fcrash-diagnostics-dir=../../tools/clang/crashreports -mllvm -instcombine-lower-dbg-declare=0 -ffp-contract=off -flto=thin -fsplit-lto-unit -fwhole-program-vtables -mbranch-protection=standard -mno-outline -Xclang -fdebug-compilation-dir -Xclang . -ftrivial-auto-var-init=pattern -O2 -fdata-sections -ffunction-sections -fno-unique-section-names -fno-omit-frame-pointer -g0 -fvisibility=hidden -Wheader-hygiene -Wstring-conversion -Wtautological-overlap-compare -Wc++11-narrowing -Wdeprecated-copy -Wtautological-unsigned-zero-compare -Wshadow -Wexit-time-destructors -Wglobal-constructors -I/buildarea/eng1/chromium/build-chrom114/dunfell/tmp/work/aarch64-poky-linux/chromium-x11/114.0.5735.133-r0/recipe-sysroot/usr/include/glib-2.0 -I/buildarea/eng1/chromium/build-chrom114/dunfell/tmp/work/aarch64-poky-linux/chromium-x11/114.0.5735.133-r0/recipe-sysroot/usr/lib/glib-2.0/include -Wno-redundant-parens -std=c++20 -Wno-trigraphs -fno-exceptions -fno-rtti -fvisibility-inlines-hidden -O2 -pipe -feliminate-unused-debug-types -fmacro-prefix-map=/buildarea/eng1/chromium/build-chrom114/dunfell/tmp/work/aarch64-poky-linux/chromium-x11/114.0.5735.133-r0=/usr/src/debug/chromium-x11/114.0.5735.133-r0 -fdebug-prefix-map=/buildarea/eng1/chromium/build-chrom114/dunfell/tmp/work/aarch64-poky-linux/chromium-x11/114.0.5735.133-r0=/usr/src/debug/chromium-x11/114.0.5735.133-r0 -fdebug-prefix-map=/buildarea/eng1/chromium/build-chrom114/dunfell/tmp/work/aarch64-poky-linux/chromium-x11/114.0.5735.133-r0/recipe-sysroot= -fdebug-prefix-map=/buildarea/eng1/chromium/build-chrom114/dunfell/tmp/work/aarch64-poky-linux/chromium-x11/114.0.5735.133-r0/recipe-sysroot-native= -g1 -stdlib=libc++ -fvisibility-inlines-hidden -c ../../third_party/pdfium/fxbarcode/datamatrix/BC_ErrorCorrection.cpp -o obj/third_party/pdfium/fxbarcode/fxbarcode/BC_ErrorCorrection.o In file included from ../../third_party/pdfium/fxbarcode/datamatrix/BC_ErrorCorrection.cpp:30: NOMERGE NOINLINE NOT_TAIL_CALLED ~CheckError(); NOMERGE NOINLINE NOT_TAIL_CALLED ~NotReachedError(); [[noreturn]] NOMERGE NOINLINE NOT_TAIL_CALLED ~NotReachedNoreturnError(); NOMERGE NOINLINE NOT_TAIL_CALLED ~CheckError(); NOMERGE NOINLINE NOT_TAIL_CALLED ~NotReachedError(); [[noreturn]] NOMERGE NOINLINE NOT_TAIL_CALLED ~NotReachedNoreturnError(); NOMERGE NOINLINE NOT_TAIL_CALLED ~CheckError(); NOMERGE NOINLINE NOT_TAIL_CALLED ~NotReachedError(); [[noreturn]] NOMERGE NOINLINE NOT_TAIL_CALLED ~NotReachedNoreturnError(); NOMERGE NOINLINE NOT_TAIL_CALLED ~CheckError(); NOMERGE NOINLINE NOT_TAIL_CALLED ~NotReachedError(); [[noreturn]] NOMERGE NOINLINE NOT_TAIL_CALLED ~NotReachedNoreturnError();
Below message observed at console logs:
| ninja: build stopped: subcommand failed. | WARNING: /buildarea/eng1/chromium/build-chrom114/dunfell/tmp/work/aarch64-poky-linux/chromium-x11/114.0.5735.133-r0/temp/run.do_compile.2001436:1 exit 1 from 'ninja -v -j 112 chrome chrome_sandbox chromedriver.unstripped' | ERROR: Execution of '/buildarea/eng1/chromium/build-chrom114/dunfell/tmp/work/aarch64-poky-linux/chromium-x11/114.0.5735.133-r0/temp/run.do_compile.2001436' failed with exit code 1 ERROR: Task (/buildarea/eng1/src/repos/meta-browser.git/meta-chromium/recipes-browser/chromium/chromium-x11_114.0.5735.133.bb:do_compile) failed with exit code '1' NOTE: Tasks Summary: Attempted 7191 tasks of which 7134 didn't need to be rerun and 1 failed.
Please let me know what can be done for it.
I am getting below build error in dunfell.
Is that the entire error message or is there something more? Is this being printed by clang or something else? Can you paste the command-line parameters that caused this?
I am getting below build error in dunfell.
Is that the entire error message or is there something more? Is this being printed by clang or something else? Can you paste the command-line parameters that caused this?
Sure, have updated the error message.
Sure, have updated the error message.
Thanks! I have to admit I still don't really understand what clang thinks the actual error is. Usually, there's a line somewhere that contains "error: <...>" where <...> is some informational error message. Is that the case here?
Thanks! I have to admit I still don't really understand what clang thinks the actual error is. Usually, there's a line somewhere that contains "error: <...>" where <...> is some informational error message. Is that the case here?
Sorry, I couldn't find the error details before. Here are some more error message details :
../../components/password_manager/core/browser/password_form.h:48:8: error: no type named 'strong_ordering' in namespace 'std' ../../components/password_manager/core/browser/password_form.cc:228:26: error: equality comparison operator can only be defaulted in a class definition
Perfect, that's very useful! I think I know what's going wrong, give me a few minutes to cook up a patch.
I've added a patch that hopefully fixes the issue, please try building again.
I'll squash everything and update the commit message and PR description once we're sure we have all the patches we need.
I've added a patch that hopefully fixes the issue, please try building again.
I'll squash everything and update the commit message and PR description once we're sure we have all the patches we need.
Sure, Thanks.
@MaxIhlenfeldt , Still getting the errors as below:
$less /buildarea/eng1/chromium/build-chrom114/dunfell/tmp/work/aarch64-poky-linux/chromium-x11/114.0.5735.133-r0/temp/log.do_compile.1902787 | grep error: ALWAYS_INLINE error::Error GLES2DecoderImpl::DoMultiDrawArrays( ALWAYS_INLINE error::Error GLES2DecoderImpl::DoMultiDrawElements( ../../components/password_manager/core/browser/passkey_credential.cc:49:6: error: equality comparison operator can only be defaulted in a class definition
Thanks, I've updated 0018-... to include that one as well. I tried when introducing that patch to automatically search for such defaulted operator==
occurrences, but as they usually stretch multiple lines, searching took too long. Maybe there are still more, we'll just have to keep building :smile:
Thanks, I've updated 0018-... to include that one as well. I tried when introducing that patch to automatically search for such defaulted
operator==
occurrences, but as they usually stretch multiple lines, searching took too long. Maybe there are still more, we'll just have to keep building 😄
Here are some more errors:
$less /buildarea/eng1/chromium/build-chrom114/dunfell/tmp/work/aarch64-poky-linux/chromium-x11/114.0.5735.133-r0/temp/log.do_compile.3046106 | grep error: ALWAYS_INLINE error::Error GLES2DecoderImpl::DoMultiDrawArrays( ALWAYS_INLINE error::Error GLES2DecoderImpl::DoMultiDrawElements( ../../components/password_manager/core/browser/passkey_credential.h:51:8: error: overloaded 'operator==' must be a binary operator (has 3 parameters) ../../components/password_manager/core/browser/passkey_credential.h:51:8: error: overloaded 'operator==' must be a binary operator (has 3 parameters) ../../components/password_manager/core/browser/passkey_credential.h:51:8: error: overloaded 'operator==' must be a binary operator (has 3 parameters)
Here are some more errors:
Ugh, I missed that, thanks. Made the same mistake in another file when writing the original 0018 patch :sweat_smile: should be fixed now.
$less /buildarea/eng1/chromium/build-chrom114/dunfell/tmp/work/aarch64-poky-linux/chromium-x11/114.0.5735.133-r0/temp/log.do_compile.3046106 | grep error: ALWAYS_INLINE error::Error GLES2DecoderImpl::DoMultiDrawArrays( ALWAYS_INLINE error::Error GLES2DecoderImpl::DoMultiDrawElements( ../../components/password_manager/core/browser/passkey_credential.h:51:8: error: overloaded 'operator==' must be a binary operator (has 3 parameters) ../../components/password_manager/core/browser/passkey_credential.h:51:8: error: overloaded 'operator==' must be a binary operator (has 3 parameters) ../../components/password_manager/core/browser/passkey_credential.h:51:8: error: overloaded 'operator==' must be a binary operator (has 3 parameters)
Even after applying "patch: fix defaulted operator==", still getting these above errors.
Even after applying "patch: fix defaulted operator==", still getting these above errors.
Sorry, I really hope it's fixed now.
$less /buildarea/eng1/chromium/build-chrom114/dunfell/tmp/work/aarch64-poky-linux/chromium-x11/114.0.5735.133-r0/temp/log.do_compile.3046106 | grep error: ALWAYS_INLINE error::Error GLES2DecoderImpl::DoMultiDrawArrays( ALWAYS_INLINE error::Error GLES2DecoderImpl::DoMultiDrawElements( ../../components/password_manager/core/browser/passkey_credential.h:51:8: error: overloaded 'operator==' must be a binary operator (has 3 parameters) ../../components/password_manager/core/browser/passkey_credential.h:51:8: error: overloaded 'operator==' must be a binary operator (has 3 parameters) ../../components/password_manager/core/browser/passkey_credential.h:51:8: error: overloaded 'operator==' must be a binary operator (has 3 parameters)
Even after applying "patch: fix defaulted operator==", still getting these above errors.
@MaxIhlenfeldt Still getting the same errors and this below warning as well:
WARNING: /buildarea/eng1/chromium/poky-dunfell/bitbake/lib/bb/ui/knotty.py:856: ResourceWarning: unclosed file <_io.TextIOWrapper name='/buildarea/eng1/chromium/build-chrom114/dunfell/tmp/work/aarch64-poky-linux/chromium-x11/114.0.5735.133-r0/temp/log.do_compile.4027713' mode='r' encoding='UTF-8'> pass
Interesting. Can you replace grep error:
in your command with something like grep -C 10 error:
so we might get more context for the error? (Maybe 10 is too small and we still lose context, you might need to play around a bit to get all the information from clang.)
Interesting. Can you replace
grep error:
in your command with something likegrep -C 10 error:
so we might get more context for the error? (Maybe 10 is too small and we still lose context, you might need to play around a bit to get all the information from clang.)
With the use of 'grep -C 10 error', it's giving so much of data so, have attached the error logs. This should help you more to fix it. chrom-114-build-errors.txt
Thanks! It seems the error message slightly changed (error: defaulted member equality comparison operator must be const-qualified
), I fixed that now as well. Sorry for all this back and forth, it's a bit less silly when I can do it on my own machine...
Thanks! It seems the error message slightly changed (
error: defaulted member equality comparison operator must be const-qualified
), I fixed that now as well. Sorry for all this back and forth, it's a bit less silly when I can do it on my own machine...
It's okay, now it has completed the build for rpi4 and other systems are on the way to finish the build 👍
Nice, I expected more hiccups :smile: thanks a lot for helping with finding all the remaining build errors and the additional testing!
@MaxIhlenfeldt @rakuco @rwmacleod , Have completed the builds & testing in dunfell branch for all these below systems and all the systems worked well except rpi4.
chromium-ozone-wayland: qemux86-64
chromium-x11: qemux86-64, qemuarm, qemuarm64, raspberrypi4-64**
**We are still observing the same "network service crashed" problem in rpi4. Chromium works fine but, have observed some unknown print messages in execution logs as below.
longjmp causes uninitialized stack frame : terminated stack smashing detected : terminated
Next will start with master, kirkstone and mickledore branches.
@MaxIhlenfeldt, @rakuco, @rwmacleod, Have completed the builds & testing in master branch for all these below systems and all the systems worked well.
chromium-ozone-wayland: qemux86-64
chromium-x11: qemux86-64, qemuarm, qemuarm64, raspberrypi4-64
Next, will start with kirkstone and mickledore branches.
Have completed the builds & testing in kirkstone branch for all these below systems and all the systems worked well.
chromium-ozone-wayland: qemux86-64
chromium-x11: qemux86-64, qemuarm, qemuarm64, raspberrypi4-64
Next, started with mickledore branch.
chromium-114/RPi64/mickledore works fine. @nrpt-m will report on the qemu/mickledore test results soon.
chromium-114/RPi64/mickledore works fine. @nrpt-m will report on the qemu/mickledore test results soon.
Yes, have completed the builds & testing in mickledore branch for all these below systems and all the systems worked well.
chromium-ozone-wayland: qemux86-64
chromium-x11: qemux86-64, qemuarm, qemuarm64, raspberrypi4-64
@MaxIhlenfeldt & @rakuco, If you are agree with the above test results in all the branches then, we are good to go for merge.
Thanks @nrpt-m and @rwmacleod for the testing! It's unfortunate that the network service crash is still there on dunfell/rpi4, but I suppose we'll just have to hope it'll disappear again. I'll update the commit message and PR description with the test results, and if @rakuco agrees we can merge this!
I 100% agree, thank you all for working on this!
Release notes: https://chromereleases.googleblog.com/2023/05/stable-channel-update-for-desktop_30.html https://chromereleases.googleblog.com/2023/06/stable-channel-update-for-desktop.html https://chromereleases.googleblog.com/2023/06/stable-channel-update-for-desktop_13.html
Build and patch changes:
Drop 0024-Backport-Fix-erroneous-SupportsOstreamOperator-int-i.patch and 0025-Backport-Do-not-use-std-monospace-for-absl-variant.patch as they are included upstream now.
Add one more fixed defaulted
operator==
to 0018-Only-default-operator-on-declaration.patch.Modify 0019-Backport-constexpr-std-string-fixes.patch and 0022-Backport-Avoid-capturing-structured-bindings.patch to work with 114 instead of 113.
Add some more needed
typename
s to 0021-Add-missing-typename-s.patch.Add 0027-Don-t-pass-disable-auto-upgrade-debug-info-to-linker.patch to fix a build error due to upstream using an lld CLI option that's not yet available for us.
Add 0028-Avoid-capturing-structured-bindings.patch to fix build errors due to a C++20-specific feature being used with clang < 16.
Add 0029-Backport-IWYU-for-translate-TranslateUiLanguagesMana.patch to fix a build error due to a missing include.
Add 0030-Backport-Avoid-operator-which-is-C-20-specific.patch to fix build errors due to C++-specific features.
Rebase remaining patches.
License changes:
Added licenses:
Removed licenses:
third_party/android_deps/libs/com_google_android_gms_play_services_fido/LICENSE
https://chromium-review.googlesource.com/c/chromium/src/+/4367668
third_party/web-animations-js/LICENSE
https://chromium-review.googlesource.com/c/chromium/src/+/4382315
Updated licenses:
third_party/d3/src/LICENSE
https://chromium-review.googlesource.com/c/chromium/src/+/4408903
third_party/eigen3/LICENSE
https://chromium-review.googlesource.com/c/chromium/src/+/4522046
third_party/harfbuzz-ng/src/COPYING
https://chromium-review.googlesource.com/c/chromium/src/+/4464912
third_party/openscreen/src/LICENSE
https://chromium-review.googlesource.com/c/openscreen/+/4380180
Test-built:
chromium-ozone-wayland:
chromium-x11
** Please note that Chromium requires below set-up when on dunfell branch.
*** Please note that there currently is a problem on RPi4/dunfell where Chromium's network service crashes.
Signed-off-by: Max Ihlenfeldt max@igalia.com