Details
-
Bug
-
Resolution: Unresolved
-
P2: Important
-
None
-
6.8.0
-
None
-
Debian 12 Bookworm
gcc version 12.2.0 (Debian 12.2.0-14)
x86_64
Description
QtWebEngine build fails on Debian Bookworm (x86_64) with the following error:
FAILED: obj/net/net/http_auth_cache.o /usr/bin/g++ -MMD -MF obj/net/net/http_auth_cache.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_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_NONE -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DGOOGLE_PROTOBUF_NO_RTTI -DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER -DGOOGLE_PROTOBUF_INTERNAL_DONATE_STEAL_INLINE=0 -DHAVE_PTHREAD -DNET_IMPLEMENTATION -DENABLE_BUILT_IN_DNS -DUSE_SYSTEM_ZLIB=1 -DU_USING_ICU_NAMESPACE=0 -DU_ENABLE_DYLOAD=0 -DUSE_CHROMIUM_ICU=1 -DU_ENABLE_TRACING=1 -DU_ENABLE_RESOURCE_TRACING=0 -DU_STATIC_IMPLEMENTATION -DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_FILE -Igen -I../../../../../../src/3rdparty/chromium -I../../../../../../src/3rdparty/chromium/third_party/perfetto/include -Igen/third_party/perfetto/build_config -Igen/third_party/perfetto -I../../../../../../src/3rdparty/chromium/net/third_party/quiche/overrides -I../../../../../../src/3rdparty/chromium/net/third_party/quiche/src/quiche/common/platform/default -I../../../../../../src/3rdparty/chromium/net/third_party/quiche/src -I../../../../../../src/3rdparty/chromium/third_party/protobuf/src -Igen/protoc_out -I../../../../../../src/3rdparty/chromium/base/allocator/partition_allocator/src -Igen/base/allocator/partition_allocator/src -I../../../../../../src/3rdparty/chromium/third_party/abseil-cpp -I../../../../../../src/3rdparty/chromium/third_party/boringssl/src/include -Igen/net/third_party/quiche/src -I../../../../../../src/3rdparty/chromium/third_party/ced/src -I../../../../../../src/3rdparty/chromium/third_party/icu/source/common -I../../../../../../src/3rdparty/chromium/third_party/icu/source/i18n -I../../../../../../src/3rdparty/chromium/third_party/brotli/include -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-packed-not-aligned -Wno-dangling-else -Wno-missing-field-initializers -Wno-unused-parameter -Wno-psabi -fno-ident -fno-strict-aliasing -fstack-protector -Wno-unknown-pragmas -Wno-address -Wno-parentheses -Wno-sign-compare -Wno-stringop-overflow -Wno-stringop-overread -Wno-psabi -Wno-multichar -Wno-format-zero-length -fno-unwind-tables -fno-asynchronous-unwind-tables -fPIC -pipe -pthread -m64 -msse3 -fno-omit-frame-pointer -g0 -fvisibility=hidden -O2 -fdata-sections -ffunction-sections -fno-math-errno -I/usr/include/nss -I/usr/include/nspr -Wno-narrowing -Wno-class-memaccess -Wno-attributes -Wno-class-memaccess -Wno-subobject-linkage -Wno-invalid-offsetof -Wno-return-type -Wno-deprecated-copy -Wno-deprecated-copy -Wno-expansion-to-defined -std=gnu++20 -fno-exceptions -fno-rtti -fvisibility-inlines-hidden -c ../../../../../../src/3rdparty/chromium/net/http/http_auth_cache.cc -o obj/net/net/http_auth_cache.o In file included from /usr/include/c++/12/map:64, from ../../../../../../src/3rdparty/chromium/net/http/http_auth_cache.h:11, from ../../../../../../src/3rdparty/chromium/net/http/http_auth_cache.cc:5: /usr/include/c++/12/bits/erase_if.h: In instantiation of 'typename _Container::size_type std::__detail::__erase_nodes_if(_Container&, const _UnsafeContainer&, _Predicate) [with _Container = std::multimap<net::HttpAuthCache::EntryMapKey, net::HttpAuthCache::Entry>; _UnsafeContainer = std::multimap<net::HttpAuthCache::EntryMapKey, net::HttpAuthCache::Entry>; _Predicate = net::HttpAuthCache::SetKeyServerEntriesByNetworkAnonymizationKey(bool)::<lambda(std::multimap<net::HttpAuthCache::EntryMapKey, net::HttpAuthCache::Entry>::value_type&)>; typename _Container::size_type = long unsigned int]': /usr/include/c++/12/map:111:40: required from 'typename std::multimap<_Key, _Tp, _Compare, _Alloc>::size_type std::erase_if(multimap<_Key, _Tp, _Compare, _Allocator>&, _Predicate) [with _Key = net::HttpAuthCache::EntryMapKey; _Tp = net::HttpAuthCache::Entry; _Compare = less<net::HttpAuthCache::EntryMapKey>; _Alloc = allocator<pair<const net::HttpAuthCache::EntryMapKey, net::HttpAuthCache::Entry> >; _Predicate = net::HttpAuthCache::SetKeyServerEntriesByNetworkAnonymizationKey(bool)::<lambda(multimap<net::HttpAuthCache::EntryMapKey, net::HttpAuthCache::Entry>::value_type&)>; typename multimap<_Key, _Tp, _Compare, _Alloc>::size_type = long unsigned int]' ../../../../../../src/3rdparty/chromium/net/http/http_auth_cache.cc:90:16: required from here /usr/include/c++/12/bits/erase_if.h:59:23: error: no match for call to '(net::HttpAuthCache::SetKeyServerEntriesByNetworkAnonymizationKey(bool)::<lambda(std::multimap<net::HttpAuthCache::EntryMapKey, net::HttpAuthCache::Entry>::value_type&)>) (const std::pair<const net::HttpAuthCache::EntryMapKey, net::HttpAuthCache::Entry>&)' 59 | if (__pred(*__iter)) | ~~~~~~^~~~~~~~~ /usr/include/c++/12/bits/erase_if.h:59:23: note: candidate: 'bool (*)(std::multimap<net::HttpAuthCache::EntryMapKey, net::HttpAuthCache::Entry>::value_type&)' {aka 'bool (*)(std::pair<const net::HttpAuthCache::EntryMapKey, net::HttpAuthCache::Entry>&)'} (conversion) /usr/include/c++/12/bits/erase_if.h:59:23: note: conversion of argument 2 would be ill-formed: /usr/include/c++/12/bits/erase_if.h:59:23: error: binding reference of type 'std::multimap<net::HttpAuthCache::EntryMapKey, net::HttpAuthCache::Entry>::value_type&' {aka 'std::pair<const net::HttpAuthCache::EntryMapKey, net::HttpAuthCache::Entry>&'} to 'const std::pair<const net::HttpAuthCache::EntryMapKey, net::HttpAuthCache::Entry>' discards qualifiers ../../../../../../src/3rdparty/chromium/net/http/http_auth_cache.cc:90:27: note: candidate: 'net::HttpAuthCache::SetKeyServerEntriesByNetworkAnonymizationKey(bool)::<lambda(std::multimap<net::HttpAuthCache::EntryMapKey, net::HttpAuthCache::Entry>::value_type&)>' (near match) 90 | std::erase_if(entries_, [](EntryMap::value_type& entry_map_pair) { | ^ ../../../../../../src/3rdparty/chromium/net/http/http_auth_cache.cc:90:27: note: conversion of argument 1 would be ill-formed: /usr/include/c++/12/bits/erase_if.h:59:23: error: binding reference of type 'std::multimap<net::HttpAuthCache::EntryMapKey, net::HttpAuthCache::Entry>::value_type&' {aka 'std::pair<const net::HttpAuthCache::EntryMapKey, net::HttpAuthCache::Entry>&'} to 'const std::pair<const net::HttpAuthCache::EntryMapKey, net::HttpAuthCache::Entry>' discards qualifiers 59 | if (__pred(*__iter)) | ~~~~~~^~~~~~~~~ /usr/include/c++/12/bits/erase_if.h: In instantiation of 'typename _Container::size_type std::__detail::__erase_nodes_if(_Container&, const _UnsafeContainer&, _Predicate) [with _Container = std::multimap<net::HttpAuthCache::EntryMapKey, net::HttpAuthCache::Entry>; _UnsafeContainer = std::multimap<net::HttpAuthCache::EntryMapKey, net::HttpAuthCache::Entry>; _Predicate = net::HttpAuthCache::ClearEntriesAddedBetween(base::Time, base::Time, base::RepeatingCallback<bool(const GURL&)>)::<lambda(std::multimap<net::HttpAuthCache::EntryMapKey, net::HttpAuthCache::Entry>::value_type&)>; typename _Container::size_type = long unsigned int]': /usr/include/c++/12/map:111:40: required from 'typename std::multimap<_Key, _Tp, _Compare, _Alloc>::size_type std::erase_if(multimap<_Key, _Tp, _Compare, _Allocator>&, _Predicate) [with _Key = net::HttpAuthCache::EntryMapKey; _Tp = net::HttpAuthCache::Entry; _Compare = less<net::HttpAuthCache::EntryMapKey>; _Alloc = allocator<pair<const net::HttpAuthCache::EntryMapKey, net::HttpAuthCache::Entry> >; _Predicate = net::HttpAuthCache::ClearEntriesAddedBetween(base::Time, base::Time, base::RepeatingCallback<bool(const GURL&)>)::<lambda(multimap<net::HttpAuthCache::EntryMapKey, net::HttpAuthCache::Entry>::value_type&)>; typename multimap<_Key, _Tp, _Compare, _Alloc>::size_type = long unsigned int]' ../../../../../../src/3rdparty/chromium/net/http/http_auth_cache.cc:314:16: required from here /usr/include/c++/12/bits/erase_if.h:59:23: error: no match for call to '(net::HttpAuthCache::ClearEntriesAddedBetween(base::Time, base::Time, base::RepeatingCallback<bool(const GURL&)>)::<lambda(std::multimap<net::HttpAuthCache::EntryMapKey, net::HttpAuthCache::Entry>::value_type&)>) (const std::pair<const net::HttpAuthCache::EntryMapKey, net::HttpAuthCache::Entry>&)' ../../../../../../src/3rdparty/chromium/net/http/http_auth_cache.cc:314:27: note: candidate: 'net::HttpAuthCache::ClearEntriesAddedBetween(base::Time, base::Time, base::RepeatingCallback<bool(const GURL&)>)::<lambda(std::multimap<net::HttpAuthCache::EntryMapKey, net::HttpAuthCache::Entry>::value_type&)>' (near match) 314 | std::erase_if(entries_, [begin_time, end_time, | ^ ../../../../../../src/3rdparty/chromium/net/http/http_auth_cache.cc:314:27: note: conversion of argument 1 would be ill-formed: /usr/include/c++/12/bits/erase_if.h:59:23: error: binding reference of type 'std::multimap<net::HttpAuthCache::EntryMapKey, net::HttpAuthCache::Entry>::value_type&' {aka 'std::pair<const net::HttpAuthCache::EntryMapKey, net::HttpAuthCache::Entry>&'} to 'const std::pair<const net::HttpAuthCache::EntryMapKey, net::HttpAuthCache::Entry>' discards qualifiers 59 | if (__pred(*__iter)) | ~~~~~~^~~~~~~~~
This is new in 6.8.0 and did not happens in 6.7.x. The http_auth_cache code did not change between 118-based and 122-based.
Attachments
Gerrit Reviews
For Gerrit Dashboard: QTBUG-130707 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
605801,3 | [Backport] Make "key" argument in std::erase_if predicate const. | 122-based | qt/qtwebengine-chromium | Status: NEW | +2 | 0 |