Jump to content
Read the Funtoo Newsletter: Summer 2023 ×
  • 0

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



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

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 
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?

Link to comment
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.


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

Link to comment
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.


Link to comment
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...