RESOLVED FIXED296737
[GTK][WPE] Build broken with libwebrtc enabled and gcc12
https://bugs.webkit.org/show_bug.cgi?id=296737
Summary [GTK][WPE] Build broken with libwebrtc enabled and gcc12
Miguel Gomez
Reported 2025-07-31 05:08:54 PDT
When enabling libwebrtc and trying to build with gcc12, there are several errors happening: ---------------------------------------------- ERROR 1: happens for Network, PayloadTypeSuggester and SctpTransport classes in libwebrtc: Source/ThirdParty/libwebrtc/Source/webrtc/p2p/base/port_interface.h:58:26: error: declaration of 'virtual const webrtc::Network* webrtc::PortInterface::Network() const' changes meaning of 'Network' [-fpermissive] 58 | virtual const Network* Network() const = 0; | ^~~~~~~ In file included from Source/ThirdParty/libwebrtc/Source/webrtc/p2p/base/port_interface.h:29: Source/ThirdParty/libwebrtc/Source/webrtc/rtc_base/network.h:197:18: note: 'Network' declared here as 'class webrtc::Network' 197 | class RTC_EXPORT Network { | ^~~~~~~ ---------------------------------------------- ERROR 2 In file included from /host/home/magomez/webkit/WebKit/Source/ThirdParty/libwebrtc/Source/webrtc/video/screenshare_loopback.cc:30: /host/home/magomez/webkit/WebKit/Source/ThirdParty/libwebrtc/Source/webrtc/test/gtest.h:18:10: fatal error: gtest/gtest-spi.h: No such file or directory 18 | #include <gtest/gtest-spi.h> | ^~~~~~~~~~~~~~~~~~~ ------------------------------------------- ERROR 3 In file included from WTF/Headers/wtf/MallocCommon.h:29, from WTF/Headers/wtf/FastMalloc.h:26, from Source/WebCore/config.h:47, from Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCDtlsTransportBackend.cpp:25, from WebCore/DerivedSources/unified-sources/UnifiedSource-f8afad56-37.cpp:1: WTF/Headers/wtf/StdLibExtras.h: In instantiation of 'constexpr typename std::remove_reference<_Arg>::type&& std::move(T&&) [with WTF::CheckMoveParameterTag <anonymous> = WTF::CheckMoveParameter; T = const WTF::String&; typename remove_reference<_Arg>::type = const WTF::String]': Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:785:18: required from 'WebCore::LibWebRTCMediaEndpoint::generateTransceiverStates(const WTF::Vector<WebCore::LibWebRTCMediaEndpointTransceiverState>&)::<lambda(auto:448&)> [with auto:448 = const WebCore::LibWebRTCMediaEndpointTransceiverState]' WTF/Headers/wtf/Vector.h:1924:64: required from 'static void WTF::Mapper<MapFunction, DestinationVectorType, SourceType>::map(DestinationVectorType&, SourceType&&, const MapFunction&) [with MapFunction = WebCore::LibWebRTCMediaEndpoint::generateTransceiverStates(const WTF::Vector<WebCore::LibWebRTCMediaEndpointTransceiverState>&)::<lambda(auto:448&)>; DestinationVectorType = WTF::Vector<WebCore::PeerConnectionBackend::TransceiverState>; SourceType = const WTF::Vector<WebCore::LibWebRTCMediaEndpointTransceiverState>&]' WTF/Headers/wtf/Vector.h:1948:65: required from 'WTF::Vector<typename std::invoke_result<MapFunction, typename WTF::CollectionInspector<SourceType>::SourceItemType&>::type, inlineCapacity, OverflowHandler, minCapacity> WTF::map(SourceType&, MapFunction&&) [with unsigned int inlineCapacity = 0; OverflowHandler = CrashOnOverflow; unsigned int minCapacity = 16; MapFunction = WebCore::LibWebRTCMediaEndpoint::generateTransceiverStates(const WTF::Vector<WebCore::LibWebRTCMediaEndpointTransceiverState>&)::<lambda(auto:448&)>; SourceType = const Vector<WebCore::LibWebRTCMediaEndpointTransceiverState>; typename std::invoke_result<MapFunction, typename CollectionInspector<SourceType>::SourceItemType&>::type = WebCore::PeerConnectionBackend::TransceiverState; typename CollectionInspector<SourceType>::SourceItemType = WebCore::LibWebRTCMediaEndpointTransceiverState]' Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.cpp:784:20: required from here WTF/Headers/wtf/StdLibExtras.h:839:51: error: static assertion failed: T is const qualified. 839 | static_assert(!is_const<NonRefQualifiedType>::value, "T is const qualified.");
Attachments
Miguel Gomez
Comment 1 2025-07-31 05:27:08 PDT
EWS
Comment 2 2025-07-31 23:52:41 PDT
Committed 298117@main (06e3689f964e): <https://commits.webkit.org/298117@main> Reviewed commits have been landed. Closing PR #48769 and removing active labels.
Note You need to log in before you can comment on or make changes to this bug.