Details
-
Bug
-
Resolution: Done
-
P2: Important
-
5.12.3
-
None
-
Linux x86_64 4.19.37_p6
XFCE
Qt 5.12.3
-
-
5c579b95c81388c9b596b209380a1a061718f5c6 (qt/qtwebengine/5.12)
Description
During build of component as part of source-based Linux distribution, ninja would fail with messaging:
FAILED: obj/skia/skcms/skcms.o /usr/bin/x86_64-pc-linux-gnu-g++ -MMD -MF obj/skia/skcms/skcms.o.d -DV8_DEPRECATION_WARNINGS -DUSE_UDEV -DUSE_AURA=1 -DUSE_NSS_CERTS=1 -DUSE_OZONE=1 -DNO_TCMALLOC -DFULL_SAFE_BROWSING -DSAFE_BROWSING_CSD -DSAFE_BROWSING_DB_LOCAL -DOFFICIAL_BUILD -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 -Igen -I../../3rdparty/chromium -w -std=c11 -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-deprecated-declarations -fno-delete-null-pointer-checks -Wno-comments -Wno-dangling-else -Wno-packed-not-aligned -Wno-missing-field-initializers -Wno-unused-parameter -O2 -fno-ident -fdata-sections -ffunction-sections -fno-omit-frame-pointer -g0 -fvisibility=hidden -std=gnu++14 -Wno-narrowing -Wno-attributes -Wno-class-memaccess -Wno-subobject-linkage -fno-exceptions -fno-rtti -fvisibility-inlines-hidden -c ../../3rdparty/chromium/third_party/skia/third_party/skcms/skcms.cc -o obj/skia/skcms/skcms.o In file included from ../../3rdparty/chromium/third_party/skia/third_party/skcms/skcms.cc:1955: ../../3rdparty/chromium/third_party/skia/third_party/skcms/src/Transform_inl.h:92:11: error: redefinition of 'template<class T> T if_then_else(I32x8, T, T)' 92 | SI ATTR T if_then_else(I32 c, T t, T e) | ^~~~~~~~~~~~ In file included from ../../3rdparty/chromium/third_party/skia/third_party/skcms/skcms.cc:1911: ../../3rdparty/chromium/third_party/skia/third_party/skcms/src/Transform_inl.h:92:11: note: 'template<class T> T if_then_else(I32x8, T, T)' previously declared here 92 | SI ATTR T if_then_else(I32 c, T t, T e) | ^~~~~~~~~~~~ In file included from ../../3rdparty/chromium/third_party/skia/third_party/skcms/skcms.cc:1955: ../../3rdparty/chromium/third_party/skia/third_party/skcms/src/Transform_inl.h:502:6: error: redefinition of 'void clut(const skcms_A2B*, I32x8, I32x8, Fx8*, Fx8*, Fx8*, Fx8) [with int I = 0; int B = 8; skcms_A2B = skcms_A2B; I32x8 = __vector(8) int; Fx8 = __vector(8) float]' 502 | void clut<0, 8>(const skcms_A2B* a2b, I32 ix, I32 stride, F* r, F* g, F* b, F a) { | ^~~~~~~~~~ In file included from ../../3rdparty/chromium/third_party/skia/third_party/skcms/skcms.cc:1911: ../../3rdparty/chromium/third_party/skia/third_party/skcms/src/Transform_inl.h:502:6: note: 'void clut(const skcms_A2B*, I32x8, I32x8, Fx8*, Fx8*, Fx8*, Fx8) [with int I = 0; int B = 8; skcms_A2B = skcms_A2B; I32x8 = __vector(8) int; Fx8 = __vector(8) float]' previously declared here 502 | void clut<0, 8>(const skcms_A2B* a2b, I32 ix, I32 stride, F* r, F* g, F* b, F a) { | ^~~~~~~~~~ In file included from ../../3rdparty/chromium/third_party/skia/third_party/skcms/skcms.cc:1955: ../../3rdparty/chromium/third_party/skia/third_party/skcms/src/Transform_inl.h:514:6: error: redefinition of 'void clut(const skcms_A2B*, I32x8, I32x8, Fx8*, Fx8*, Fx8*, Fx8) [with int I = 0; int B = 16; skcms_A2B = skcms_A2B; I32x8 = __vector(8) int; Fx8 = __vector(8) float]' 514 | void clut<0, 16>(const skcms_A2B* a2b, I32 ix, I32 stride, F* r, F* g, F* b, F a) { | ^~~~~~~~~~~ In file included from ../../3rdparty/chromium/third_party/skia/third_party/skcms/skcms.cc:1911: ../../3rdparty/chromium/third_party/skia/third_party/skcms/src/Transform_inl.h:514:6: note: 'void clut(const skcms_A2B*, I32x8, I32x8, Fx8*, Fx8*, Fx8*, Fx8) [with int I = 0; int B = 16; skcms_A2B = skcms_A2B; I32x8 = __vector(8) int; Fx8 = __vector(8) float]' previously declared here 514 | void clut<0, 16>(const skcms_A2B* a2b, I32 ix, I32 stride, F* r, F* g, F* b, F a) { | ^~~~~~~~~~~ In file included from ../../3rdparty/chromium/third_party/skia/third_party/skcms/skcms.cc:1955: ../../3rdparty/chromium/third_party/skia/third_party/skcms/src/Transform_inl.h:537:6: error: redefinition of 'template<int I, int B> void clut(const skcms_A2B*, I32x8, I32x8, Fx8*, Fx8*, Fx8*, Fx8)' 537 | void clut(const skcms_A2B* a2b, I32 ix, I32 stride, F* r, F* g, F* b, F a) { | ^~~~ In file included from ../../3rdparty/chromium/third_party/skia/third_party/skcms/skcms.cc:1911: ../../3rdparty/chromium/third_party/skia/third_party/skcms/src/Transform_inl.h:537:6: note: 'template<int I, int B> void clut(const skcms_A2B*, I32x8, I32x8, Fx8*, Fx8*, Fx8*, Fx8)' previously declared here 537 | void clut(const skcms_A2B* a2b, I32 ix, I32 stride, F* r, F* g, F* b, F a) { | ^~~~
It appears that file src/3rdparty/chromium/third_party/skia/third_party/skcms/src/Transform_inl.h does not contain a #pragma once or header guards. Multiple inclusions of file cause build to fail.