Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 937541 - dev-qt/qtwebengine-6.7.2 with clang-19: error: a template argument list is expected after a name prefixed by the template keyword [-Wmissing-template-arg-list-after-template-kw]
Summary: dev-qt/qtwebengine-6.7.2 with clang-19: error: a template argument list is ex...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Qt Bug Alias
URL:
Whiteboard:
Keywords: PATCH
Depends on:
Blocks:
 
Reported: 2024-08-08 04:35 UTC by Alfred Wingate
Modified: 2024-08-09 09:27 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
dev-qt/qtwebengine-6.7.2 build.log (xz compressed) (qtwebengine-6.7.2:20240808-040257.log.xz,80.67 KB, application/x-xz)
2024-08-08 04:36 UTC, Alfred Wingate
Details
emerge --info (emerge--info.txt,8.92 KB, text/plain)
2024-08-08 04:36 UTC, Alfred Wingate
Details
qtwebengine-6.7.2-clang19.patch (qtwebengine-6.7.2-clang19.patch,1.84 KB, patch)
2024-08-08 05:16 UTC, Ionen Wolkens
Details | Diff
qtwebengine-6.7.2-clang19.patch (qtwebengine-6.7.2-clang19.patch,4.51 KB, patch)
2024-08-08 21:45 UTC, Alfred Wingate
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Alfred Wingate 2024-08-08 04:35:23 UTC
FAILED: obj/third_party/perfetto/src/tracing/client_api_without_backends/track_event_internal.o 
/usr/lib/llvm/19/bin/clang++ -MMD -MF obj/third_party/perfetto/src/tracing/client_api_without_backends/track_event_internal.o.d -DUSE_UDEV -DUSE_AURA=1 -DUSE_OZONE=1 -DOFFICIAL_BUILD -DTOOLKIT_QT -D__STDC_CONSTANT_MACROS -D__STDC_FO
RMAT_MACROS -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DNO_UNWIND_TABLES -D_GNU_SOURCE -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DPERFETTO_IMPLEMENTATION -Igen -I../../../../../qtwebengine-everywhe
re-src-6.7.2/src/3rdparty/chromium -I../../../../../qtwebengine-everywhere-src-6.7.2/src/3rdparty/chromium/third_party/perfetto -I../../../../../qtwebengine-everywhere-src-6.7.2/src/3rdparty/chromium/third_party/perfetto/src/profili
ng/memory/include -I../../../../../qtwebengine-everywhere-src-6.7.2/src/3rdparty/chromium/third_party/perfetto/include -Igen/third_party/perfetto/build_config -Igen/third_party/perfetto -I../../../../../qtwebengine-everywhere-src-6.
7.2/src/3rdparty/chromium/third_party/protobuf/src -Igen/protoc_out -Wall -Wextra -Wimplicit-fallthrough -Wthread-safety -Wno-missing-field-initializers -Wno-unused-parameter -Wno-psabi -Wloop-analysis -Wno-unneeded-internal-declara
tion -Wno-deprecated-declarations -Wenum-compare-conditional -Wno-ignored-pragma-optimize -Wno-deprecated-builtins -Wno-bitfield-constant-conversion -Wno-deprecated-this-capture -Wshadow -fno-delete-null-pointer-checks -fno-ident -f
no-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -Wno-unknown-argument -Wno-unknown-attributes -Wno-unknown-warning-option -Wno-ignored-attributes -Wno-predefined-identifier-outside-function -Wno-self-assign -Wno-unkno
wn-pragmas -fno-unwind-tables -fno-asynchronous-unwind-tables -fPIC -pthread -fcolor-diagnostics -fmerge-all-constants -m64 -msse3 -no-canonical-prefixes -O2 -fdata-sections -ffunction-sections -fno-unique-section-names -fno-omit-fr
ame-pointer -g0 -fvisibility=hidden -Wheader-hygiene -Wstring-conversion -Wtautological-overlap-compare -DPROTOBUF_ALLOW_DEPRECATED=1 -Wno-parentheses-equality -Wno-tautological-compare -Wno-thread-safety-attributes -Wno-undefined-b
ool-conversion -Wno-tautological-undefined-compare -std=c++20 -Wno-trigraphs -gsimple-template-names -fno-exceptions -fno-rtti -fvisibility-inlines-hidden -O3 -pipe -march=znver3 -Werror=odr -Werror=strict-aliasing -Wno-c++11-narrow
ing-const-reference -c ../../../../../qtwebengine-everywhere-src-6.7.2/src/3rdparty/chromium/third_party/perfetto/src/tracing/internal/track_event_internal.cc -o obj/third_party/perfetto/src/tracing/client_api_without_backends/track
_event_internal.o
In file included from ../../../../../qtwebengine-everywhere-src-6.7.2/src/3rdparty/chromium/third_party/perfetto/src/tracing/internal/track_event_internal.cc:23:
In file included from ../../../../../qtwebengine-everywhere-src-6.7.2/src/3rdparty/chromium/third_party/perfetto/include/perfetto/tracing/track_event.h:20:
../../../../../qtwebengine-everywhere-src-6.7.2/src/3rdparty/chromium/third_party/perfetto/include/perfetto/tracing/internal/track_event_data_source.h:331:20: error: a template argument list is expected after a name prefixed by the 
template keyword [-Wmissing-template-arg-list-after-template-kw]
  331 |     Base::template Trace([](typename Base::TraceContext ctx) { ctx.Flush(); });
      |                    ^
../../../../../qtwebengine-everywhere-src-6.7.2/src/3rdparty/chromium/third_party/perfetto/include/perfetto/tracing/internal/track_event_data_source.h:337:20: error: a template argument list is expected after a name prefixed by the template keyword [-Wmissing-template-arg-list-after-template-kw]
  337 |     Base::template CallIfEnabled(
      |                    ^
../../../../../qtwebengine-everywhere-src-6.7.2/src/3rdparty/chromium/third_party/perfetto/include/perfetto/tracing/internal/track_event_data_source.h:352:20: error: a template argument list is expected after a name prefixed by the template keyword [-Wmissing-template-arg-list-after-template-kw]
  352 |     Base::template Trace([&](typename Base::TraceContext ctx) {
      |                    ^
../../../../../qtwebengine-everywhere-src-6.7.2/src/3rdparty/chromium/third_party/perfetto/include/perfetto/tracing/internal/track_event_data_source.h:499:20: error: a template argument list is expected after a name prefixed by the template keyword [-Wmissing-template-arg-list-after-template-kw]
  499 |     Base::template Trace([&](typename Base::TraceContext ctx) {
      |                    ^
../../../../../qtwebengine-everywhere-src-6.7.2/src/3rdparty/chromium/third_party/perfetto/include/perfetto/tracing/internal/track_event_data_source.h:1050:22: error: a template argument list is expected after a name prefixed by the template keyword [-Wmissing-template-arg-list-after-template-kw]
 1050 |       Base::template TraceWithInstances(instances, std::move(lambda));
      |                      ^
../../../../../qtwebengine-everywhere-src-6.7.2/src/3rdparty/chromium/third_party/perfetto/include/perfetto/tracing/internal/track_event_data_source.h:1064:20: error: a template argument list is expected after a name prefixed by the template keyword [-Wmissing-template-arg-list-after-template-kw]
 1064 |     Base::template Trace([&](typename Base::TraceContext ctx) {
      |                    ^
6 errors generated.

Fixed upstream in https://github.com/google/perfetto/commit/e2f661907a717551235563389977b7468da6d45e
Comment 1 Alfred Wingate 2024-08-08 04:36:25 UTC
Created attachment 899490 [details]
dev-qt/qtwebengine-6.7.2 build.log (xz compressed)
Comment 2 Alfred Wingate 2024-08-08 04:36:54 UTC
Created attachment 899491 [details]
emerge --info
Comment 3 Ionen Wolkens gentoo-dev 2024-08-08 05:16:15 UTC
Created attachment 899492 [details, diff]
qtwebengine-6.7.2-clang19.patch

(In reply to Alfred Wingate from comment #0)
> Fixed upstream in
> https://github.com/google/perfetto/commit/e2f661907a717551235563389977b7468da6d45e

By any chances did you already try (or want to) if it's all that's needed for clang19? Not uncommon with chromium that there's more issues. Would save me having to build clang19rc+qtwebengine to see for myself (haven't been testing clang19 at all yet), otherwise I'll try in a few days or so.

Attached the backport patch with adjusted paths to apply to qtwebengine-6.7.2 (untested).
Comment 4 Alfred Wingate 2024-08-08 05:18:07 UTC
I was in the process of testing with a similarly adjusted patch. Its not enough as there are still some templates that clang is still unhappy about it.
Comment 5 Ionen Wolkens gentoo-dev 2024-08-08 17:05:10 UTC
I see thanks, on the bright side they're "probably" all already fixed in chromium upstream, so will just need to check.
Comment 6 Alfred Wingate 2024-08-08 21:45:56 UTC
Created attachment 899643 [details, diff]
qtwebengine-6.7.2-clang19.patch

The grpc changes don't appear to be needed.
Comment 7 Larry the Git Cow gentoo-dev 2024-08-09 09:27:45 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=331c6eba932ad1f85d725bdd0b1b2d26dff89eb0

commit 331c6eba932ad1f85d725bdd0b1b2d26dff89eb0
Author:     Ionen Wolkens <ionen@gentoo.org>
AuthorDate: 2024-08-09 07:03:26 +0000
Commit:     Ionen Wolkens <ionen@gentoo.org>
CommitDate: 2024-08-09 09:27:04 +0000

    dev-qt/qtwebengine: fix build with clang-19
    
    Closes: https://bugs.gentoo.org/937541
    Thanks-to: Alfred Wingate
    Signed-off-by: Ionen Wolkens <ionen@gentoo.org>

 .../files/qtwebengine-6.7.2-clang19.patch          | 76 ++++++++++++++++++++++
 dev-qt/qtwebengine/qtwebengine-6.7.2.ebuild        |  1 +
 dev-qt/qtwebengine/qtwebengine-6.7.9999.ebuild     |  1 +
 dev-qt/qtwebengine/qtwebengine-6.8.9999.ebuild     |  1 +
 4 files changed, 79 insertions(+)