Jump to content
  • 0
mithodin

dev-qt/qtwebengine-5.12.3 fails to emerge: redefinition of template

Question

After switching to the 1.4 release, qtwebengine wants to upgrade to version 5.12.3, but this fails:

[2178/22838] /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_AN
NOTATIONS_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-sec
tions -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 ../../3rdpart
y/chromium/third_party/skia/third_party/skcms/skcms.cc -o obj/skia/skcms/skcms.o
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 -DO
FFICIAL_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_ENA
BLED=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 -Wn
o-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)
      |           ^~~~~~~~~~~~

with a few more errors like the first one. In skcms.cc, Transform_inl.h is indeed included twice, which seems to be the problem. Any way to fix this?

Share this post


Link to post
Share on other sites

3 answers to this question

Recommended Posts

  • 0

@cardinal - attaching patch file that was a result of the QT bug report and needs to be tested to resolve this matter.

Hopefully, you have better luck that I'm having at the moment.

qtwebengine-5.12.3-skcms-fix.patch

QT Garret (online project software management system) is reporting that patch will be incorporated into 5.13/5.12.5 branches.

Share this post


Link to post
Share on other sites
  • 0

@cardinal - more noise. Found an OpenSuse patch (tweaked for compatibility to ebuild ecosystem) the just stomps on a bunch of function calls in the chrome source that have non-void returns but do not return a value. I'm testing on my system now (insert several hours of "Jeopardy Thinking Music" playing in the background) but you may find it useful. Patch applicable to QtWebengine 5.12.3/5.12.4 3rdParty Chrome (v75.*).

Let me know if this works for you.

qtwebengine-5.12.3-chromium-non-void-return.patch

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...