Describe the bug
When attempting to compile v81.0.4044.92-1, the build fails due to errors that appear to have been introduced in 2171d8e. See here.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The build succeeds, like it did before 2171d8e.
Environment:
This was first observed in the Github macOS CI runner. I was able to reproduce the behavior on a Linux system when trying to build the portablelinux target.
Well I suppose this is what I get for not testing my changes... unfortuantely, testing is pretty tedious right now (need to update at least one platform to make a build)
Would you mind testing de5aca50f45b29481d46de0be70d0733b6b63548? I'll tag it if it works.
closing issue before testing
bruh
Ok, tested again, same problem:
Before commit:
[ 263s] clang++ -MMD -MF obj/components/ungoogled/switches/ungoogled_switches.o.d -DIS_UNGOOGLED_IMPL -DUSE_UDEV -DUSE_AURA=1 -DUSE_GLIB=1 -DUSE_NSS_CERTS=1 -DUSE_X11=1 -DOFFICIAL_BUILD -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DNO_UNWIND_TABLES -D_GNU_SOURCE -DCR_CLANG_REVISION=\"n340759-eaabaf7e-1\" -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D_FORTIFY_SOURCE=2 -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_40 -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_40 -I../.. -Igen -I../../third_party/boringssl/src/include -fprofile-sample-use=../../chrome/android/profiles/afdo.prof -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 -Xclang -mllvm -Xclang -instcombine-lower-dbg-declare=0 -flto=thin -fsplit-lto-unit -fwhole-program-vtables -m64 -march=x86-64 -no-canonical-prefixes -Wall -Wextra -Wimplicit-fallthrough -Wthread-safety -Wextra-semi -Wno-missing-field-initializers -Wno-unused-parameter -Wno-c++11-narrowing -Wno-unneeded-internal-declaration -Wno-undefined-var-template -Wno-ignored-pragma-optimize -Wno-implicit-int-float-conversion -Wno-final-dtor-non-final-class -Wno-bitwise-conditional-parentheses -Wno-builtin-assume-aligned-alignment -Wno-deprecated-copy -Wno-misleading-indentation -Wno-range-loop-analysis -O2 -fno-ident -fdata-sections -ffunction-sections -fno-omit-frame-pointer -g0 -fsanitize=cfi-vcall -fsanitize-blacklist=../../tools/cfi/blacklist.txt -fsanitize=cfi-icall -fvisibility=hidden -Wheader-hygiene -Wstring-conversion -Wtautological-overlap-compare -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -std=c++14 -fno-exceptions -fno-rtti -fvisibility-inlines-hidden -D_FORTIFY_SOURCE=2 -D__DATE__= -D__TIME__= -D__TIMESTAMP__= -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -Wno-builtin-macro-redefined -Wno-unknown-warning-option -c ../../components/ungoogled/ungoogled_switches.cc -o obj/components/ungoogled/switches/ungoogled_switches.o
[ 263s] In file included from ../../components/ungoogled/ungoogled_switches.cc:5:
[ 263s] ../../components/ungoogled/ungoogled_switches.h:14:40: error: definition of variable with array type needs an explicit size or an initializer
[ 263s] const char COMPONENT_EXPORT(UNGOOGLED) kFingerprintingClientRectsNoise[];
[ 263s] ^
[ 263s] ../../components/ungoogled/ungoogled_switches.h:15:40: error: definition of variable with array type needs an explicit size or an initializer
[ 263s] const char COMPONENT_EXPORT(UNGOOGLED) kFingerprintingCanvasMeasureTextNoise[];
[ 263s] ^
[ 263s] ../../components/ungoogled/ungoogled_switches.h:16:40: error: definition of variable with array type needs an explicit size or an initializer
[ 263s] const char COMPONENT_EXPORT(UNGOOGLED) kFingerprintingCanvasImageDataNoise[];
[ 263s] ^
[ 263s] ../../components/ungoogled/ungoogled_switches.cc:10:12: error: redefinition of 'kFingerprintingClientRectsNoise'
[ 263s] const char kFingerprintingClientRectsNoise[] = "fingerprinting-client-rects-noise";
[ 263s] ^
[ 263s] ../../components/ungoogled/ungoogled_switches.h:14:40: note: previous definition is here
[ 263s] const char COMPONENT_EXPORT(UNGOOGLED) kFingerprintingClientRectsNoise[];
[ 263s] ^
[ 263s] ../../components/ungoogled/ungoogled_switches.cc:13:12: error: redefinition of 'kFingerprintingCanvasMeasureTextNoise'
[ 263s] const char kFingerprintingCanvasMeasureTextNoise[] = "fingerprinting-canvas-measuretext-noise";
[ 263s] ^
[ 263s] ../../components/ungoogled/ungoogled_switches.h:15:40: note: previous definition is here
[ 263s] const char COMPONENT_EXPORT(UNGOOGLED) kFingerprintingCanvasMeasureTextNoise[];
[ 263s] ^
[ 263s] ../../components/ungoogled/ungoogled_switches.cc:16:12: error: redefinition of 'kFingerprintingCanvasImageDataNoise'
[ 263s] const char kFingerprintingCanvasImageDataNoise[] = "fingerprinting-canvas-image-data-noise";
[ 263s] ^
[ 263s] ../../components/ungoogled/ungoogled_switches.h:16:40: note: previous definition is here
[ 263s] const char COMPONENT_EXPORT(UNGOOGLED) kFingerprintingCanvasImageDataNoise[];
After commit
[ 247s] clang++ -MMD -MF obj/components/ungoogled/switches/ungoogled_switches.o.d -DIS_UNGOOGLED_IMPL -DUSE_UDEV -DUSE_AURA=1 -DUSE_GLIB=1 -DUSE_NSS_CERTS=1 -DUSE_X11=1 -DOFFICIAL_BUILD -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DNO_UNWIND_TABLES -D_GNU_SOURCE -DCR_CLANG_REVISION=\"n340759-eaabaf7e-1\" -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D_FORTIFY_SOURCE=2 -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_40 -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_40 -I../.. -Igen -I../../third_party/boringssl/src/include -fprofile-sample-use=../../chrome/android/profiles/afdo.prof -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 -Xclang -mllvm -Xclang -instcombine-lower-dbg-declare=0 -flto=thin -fsplit-lto-unit -fwhole-program-vtables -m64 -march=x86-64 -no-canonical-prefixes -Wall -Wextra -Wimplicit-fallthrough -Wthread-safety -Wextra-semi -Wno-missing-field-initializers -Wno-unused-parameter -Wno-c++11-narrowing -Wno-unneeded-internal-declaration -Wno-undefined-var-template -Wno-ignored-pragma-optimize -Wno-implicit-int-float-conversion -Wno-final-dtor-non-final-class -Wno-bitwise-conditional-parentheses -Wno-builtin-assume-aligned-alignment -Wno-deprecated-copy -Wno-misleading-indentation -Wno-range-loop-analysis -O2 -fno-ident -fdata-sections -ffunction-sections -fno-omit-frame-pointer -g0 -fsanitize=cfi-vcall -fsanitize-blacklist=../../tools/cfi/blacklist.txt -fsanitize=cfi-icall -fvisibility=hidden -Wheader-hygiene -Wstring-conversion -Wtautological-overlap-compare -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -std=c++14 -fno-exceptions -fno-rtti -fvisibility-inlines-hidden -D_FORTIFY_SOURCE=2 -D__DATE__= -D__TIME__= -D__TIMESTAMP__= -march=x86-64 -mtune=generic -O2 -pipe -fno-plt -Wno-builtin-macro-redefined -Wno-unknown-warning-option -c ../../components/ungoogled/ungoogled_switches.cc -o obj/components/ungoogled/switches/ungoogled_switches.o
[ 247s] In file included from ../../components/ungoogled/ungoogled_switches.cc:5:
[ 247s] ../../components/ungoogled/ungoogled_switches.h:14:40: error: definition of variable with array type needs an explicit size or an initializer
[ 247s] COMPONENT_EXPORT(UNGOOGLED) const char kFingerprintingClientRectsNoise[];
[ 247s] ^
[ 247s] ../../components/ungoogled/ungoogled_switches.h:15:40: error: definition of variable with array type needs an explicit size or an initializer
[ 247s] COMPONENT_EXPORT(UNGOOGLED) const char kFingerprintingCanvasMeasureTextNoise[];
[ 247s] ^
[ 247s] ../../components/ungoogled/ungoogled_switches.h:16:40: error: definition of variable with array type needs an explicit size or an initializer
[ 247s] COMPONENT_EXPORT(UNGOOGLED) const char kFingerprintingCanvasImageDataNoise[];
[ 247s] ^
[ 247s] ../../components/ungoogled/ungoogled_switches.cc:10:12: error: redefinition of 'kFingerprintingClientRectsNoise'
[ 247s] const char kFingerprintingClientRectsNoise[] = "fingerprinting-client-rects-noise";
[ 247s] ^
[ 247s] ../../components/ungoogled/ungoogled_switches.h:14:40: note: previous definition is here
[ 247s] COMPONENT_EXPORT(UNGOOGLED) const char kFingerprintingClientRectsNoise[];
[ 247s] ^
[ 247s] ../../components/ungoogled/ungoogled_switches.cc:13:12: error: redefinition of 'kFingerprintingCanvasMeasureTextNoise'
[ 247s] const char kFingerprintingCanvasMeasureTextNoise[] = "fingerprinting-canvas-measuretext-noise";
[ 247s] ^
[ 247s] ../../components/ungoogled/ungoogled_switches.h:15:40: note: previous definition is here
[ 247s] COMPONENT_EXPORT(UNGOOGLED) const char kFingerprintingCanvasMeasureTextNoise[];
[ 247s] ^
[ 247s] ../../components/ungoogled/ungoogled_switches.cc:16:12: error: redefinition of 'kFingerprintingCanvasImageDataNoise'
[ 247s] const char kFingerprintingCanvasImageDataNoise[] = "fingerprinting-canvas-image-data-noise";
[ 247s] ^
[ 247s] ../../components/ungoogled/ungoogled_switches.h:16:40: note: previous definition is here
[ 247s] COMPONENT_EXPORT(UNGOOGLED) const char kFingerprintingCanvasImageDataNoise[];
[ 247s] ^
[ 247s] 6 errors generated.
bruh
also don't forget I made a release without testing
Ok, tested again, same problem:
Oh so it turns out I didn't read carefully and I forgot how the extern keyword works... so we're at b484ad4c0bdb696c86d941798ae6b0e2bd0db35d now.
I'm testing the new commit and the compilation completed the steps where it would normally fail without a problem.
Okay, compilation finished and all is working. While my testing is limited to a few things, imo it should be ok to make a new release.