Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[SOLVED] qtwebengine-6.8.3 won't emerge with clang-20
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Portage & Programming
View previous topic :: View next topic  
Author Message
cfgauss
l33t
l33t


Joined: 18 May 2005
Posts: 736
Location: USA

PostPosted: Sat Mar 29, 2025 5:18 pm    Post subject: [SOLVED] qtwebengine-6.8.3 won't emerge with clang-20 Reply with quote

Here is emerge --info '=dev-qt/qtwebengine-6.8.3::gentoo'.
Here is the complete build log.
Code:
$ emerge -pqv '=dev-qt/qtwebengine-6.8.3::gentoo'
[ebuild  r  U ] dev-qt/qtwebengine-6.8.3 [6.8.2-r1] USE="alsa jumbo-build opengl pdfium* pulseaudio qml screencast vulkan widgets -accessibility -bindist -custom-cflags -designer -geolocation -kerberos -system-icu -test -vaapi -webdriver"
[ebuild  rR   ] www-client/falkon-24.12.3  USE="X dbus kde -debug -python -test" PYTHON_SINGLE_TARGET="python3_12 -python3_10 -python3_11 -python3_13%"

The following packages are causing rebuilds:

  (dev-qt/qtwebengine-6.8.3:6/6.8.3::gentoo, ebuild scheduled for merge) causes rebuilds for:
    (www-client/falkon-24.12.3:0/0::gentoo, ebuild scheduled for merge)

Any debugging hints will be gratefully received.
[SOLVED] My 2018 AMD Ryzen chip has znver=1 and about six packages, qtwebengine included, throw an Internal Compiler Error (ICE) when emerged with GCC but emerge normally with Clang. Thanks to Sam_ for pointing out the trouble and Ionen for fixing it before I could post a bug! After eix-sync, qtwebengine emerges with clang-20.1.1, my current version. [/SOLVED]


Last edited by cfgauss on Sun Mar 30, 2025 9:17 pm; edited 1 time in total
Back to top
View user's profile Send private message
sam_
Developer
Developer


Joined: 14 Aug 2020
Posts: 2248

PostPosted: Sat Mar 29, 2025 9:44 pm    Post subject: Reply with quote

Quote:

FAILED: obj/third_party/webrtc/api/candidate/candidate.o
/usr/lib/llvm/20/bin/clang++ -MMD -MF obj/third_party/webrtc/api/candidate/candidate.o.d -DUSE_UDEV -DUSE_AURA=1 -DUSE_OZONE=1 -DOFFICIAL_BUILD -DTOOLKIT_QT -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DNO_UNWIND_TABLES -D_GNU_SOURCE -D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_NONE -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DWEBRTC_ENABLE_PROTOBUF=1 -DWEBRTC_STRICT_FIELD_TRIALS=0 -DRTC_ENABLE_VP9 -DRTC_ENABLE_H265 -DRTC_DAV1D_IN_INTERNAL_DECODER_FACTORY -DWEBRTC_HAVE_SCTP -DENABLE_EXTERNAL_AUTH -DWEBRTC_USE_H264 -DWEBRTC_ENABLE_LIBEVENT -DHAVE_WEBRTC_VIDEO -DLOGGING_INSIDE_WEBRTC -DWEBRTC_LIBRARY_IMPL -DWEBRTC_ENABLE_AVX2 -DWEBRTC_NON_STATIC_TRACE_EVENT_HANDLERS=0 -DWEBRTC_CHROMIUM_BUILD -DWEBRTC_POSIX -DWEBRTC_LINUX -DABSL_ALLOCATOR_NOTHROW=1 -Igen -I../../../../../qtwebengine-everywhere-src-6.8.3/src/3rdparty/chromium -I../../../../../qtwebengine-everywhere-src-6.8.3/src/3rdparty/chromium/third_party/webrtc_overrides -I../../../../../qtwebengine-everywhere-src-6.8.3/src/3rdparty/chromium/third_party/webrtc -Igen/third_party/webrtc -I../../../../../qtwebengine-everywhere-src-6.8.3/src/3rdparty/chromium/third_party/abseil-cpp -I../../../../../qtwebengine-everywhere-src-6.8.3/src/3rdparty/chromium/third_party/perfetto/include -Igen/third_party/perfetto/build_config -Igen/third_party/perfetto -I../../../../../qtwebengine-everywhere-src-6.8.3/src/3rdparty/chromium/base/allocator/partition_allocator/src -Igen/base/allocator/partition_allocator/src -I../../../../../qtwebengine-everywhere-src-6.8.3/src/3rdparty/chromium/third_party/boringssl/src/include -I../../../../../qtwebengine-everywhere-src-6.8.3/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-declaration -Wno-deprecated-declarations -Wenum-compare-conditional -Wno-ignored-pragma-optimize -Wno-deprecated-builtins -Wno-bitfield-constant-conversion -Wno-deprecated-this-capture -Wno-invalid-offsetof -Wno-vla-extension -Wno-thread-safety-reference-return -Wshadow -fno-delete-null-pointer-checks -fno-ident -fno-strict-aliasing -fstack-protector -Wno-unknown-argument -Wno-unknown-attributes -Wno-unknown-warning-option -Wno-ignored-attributes -Wno-predefined-identifier-outside-function -Wno-self-assign -Wno-unknown-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-math-errno -fno-omit-frame-pointer -g0 -fvisibility=hidden -Wheader-hygiene -Wstring-conversion -Wtautological-overlap-compare -Wexit-time-destructors -Wglobal-constructors -Wno-shadow -Wctad-maybe-unsupported -DPROTOBUF_ALLOW_DEPRECATED=1 -Wno-c++11-narrowing-const-reference -Wno-parentheses-equality -Wno-tautological-compare -Wno-thread-safety-attributes -Wno-undefined-bool-conversion -Wno-tautological-undefined-compare -std=c++20 -Wno-trigraphs -gsimple-template-names -fno-exceptions -fno-rtti -fvisibility-inlines-hidden -U_GLIBCXX_ASSERTIONS -O2 -march=x86-64-v3 -c ../../../../../qtwebengine-everywhere-src-6.8.3/src/3rdparty/chromium/third_party/webrtc/api/candidate.cc -o obj/third_party/webrtc/api/candidate/candidate.o
In file included from ../../../../../qtwebengine-everywhere-src-6.8.3/src/3rdparty/chromium/third_party/webrtc/api/candidate.cc:11:
../../../../../qtwebengine-everywhere-src-6.8.3/src/3rdparty/chromium/third_party/webrtc/api/candidate.h:96:40: error: 'lifetimebound' attribute cannot be applied to a parameter of a function that returns void; did you mean 'lifetime_capture_by(X)'
96 | void set_type(absl::string_view type ABSL_ATTRIBUTE_LIFETIME_BOUND) {
| ^
../../../../../qtwebengine-everywhere-src-6.8.3/src/3rdparty/chromium/third_party/abseil-cpp/absl/base/attributes.h:812:41: note: expanded from macro 'ABSL_ATTRIBUTE_LIFETIME_BOUND'
812 | #define ABSL_ATTRIBUTE_LIFETIME_BOUND [[clang::lifetimebound]]
| ^
1 error generated.


It'll build with GCC rather than Clang. Please file a bug.

Clang starts to reject it with https://github.com/llvm/llvm-project/issues/107556. At a glance, I don't see a fix at either https://webrtc.googlesource.com/src/+log/refs/heads/main/api/candidate.cc or https://webrtc.googlesource.com/src/+log/refs/heads/main/api/candidate.h but I may be missing something obvious. It's a bit weird if so given Google usually run Clang from trunk.
Back to top
View user's profile Send private message
cfgauss
l33t
l33t


Joined: 18 May 2005
Posts: 736
Location: USA

PostPosted: Sat Mar 29, 2025 11:35 pm    Post subject: Reply with quote

sam_ wrote:
It'll build with GCC rather than Clang. Please file a bug.

I have an AMD Ryzen 2950X with znver=1 architecture and I moved qtwebengine to package.env in order to compile with Clang (which it has for all prior versions). But I tried again with GCC and got the expected ICE error.

Should I still file a bug?
Back to top
View user's profile Send private message
sam_
Developer
Developer


Joined: 14 Aug 2020
Posts: 2248

PostPosted: Sat Mar 29, 2025 11:54 pm    Post subject: Reply with quote

Do file a Gentoo bug for the failure to build with Clang. No need for the ICE as it's a notorious known problem with znver1 (as you know, but stating it for others).
Back to top
View user's profile Send private message
Ionen
Developer
Developer


Joined: 06 Dec 2018
Posts: 2913

PostPosted: Sun Mar 30, 2025 9:16 am    Post subject: Reply with quote

Haven't tried to reproduce yet, but I imagine that this does not happen with upcoming Qt 6.9 given webrtc changed these types entirely. Unfortunately would've preferred a quick fix to backport than this for 6.8.3 esp. since I hardly do C++.

At a glance, webrtc seem to be trying to keep the attribute matching everywhere for that argument, but per definition I think(?) it should have no meaning in that function and perhaps clang-20 became more picky about this assuming it's not a clang-20 bug (maybe it'd just be fine to remove it there).

I "imagine" qtwebengine-6.8.2 has the same problem, and it only built because was using clang-19 at the time.

Edit (update): reproduced, would still appreciate a bug for tracking but will push a fix whenever this qtwebengine build successfully finish
Back to top
View user's profile Send private message
Ionen
Developer
Developer


Joined: 06 Dec 2018
Posts: 2913

PostPosted: Sun Mar 30, 2025 3:05 pm    Post subject: Reply with quote

Should be fixed with https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=690cb936c556
Back to top
View user's profile Send private message
cfgauss
l33t
l33t


Joined: 18 May 2005
Posts: 736
Location: USA

PostPosted: Sun Mar 30, 2025 9:11 pm    Post subject: Reply with quote

Ionen wrote:
Should be fixed with https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=690cb936c556

Yes. Many thanks.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Portage & Programming All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum