RESOLVED FIXED294668
[WPE] Errors building with libwebrtc enabled
https://bugs.webkit.org/show_bug.cgi?id=294668
Summary [WPE] Errors building with libwebrtc enabled
Miguel Gomez
Reported 2025-06-18 03:54:07 PDT
This is the error: In file included from /host/home/magomez/webkit/WebKit/WebKitBuild/WPE/Release/WebCore/DerivedSources/unified-sources/UnifiedSource-3c72abbe-78.cpp:6: /host/home/magomez/webkit/WebKit/Source/WebCore/platform/mediastream/libwebrtc/gstreamer/RealtimeOutgoingAudioSourceLibWebRTC.cpp: In member function ‘void WebCore::RealtimeOutgoingAudioSourceLibWebRTC::pullAudioData()’: /host/home/magomez/webkit/WebKit/Source/WebCore/platform/mediastream/libwebrtc/gstreamer/RealtimeOutgoingAudioSourceLibWebRTC.cpp:115:96: error: ‘T* WTF::Vector< <template-parameter-1-1>, <anonymous>, <template-parameter-1-3>, <anonymous>, <template-parameter-1-5> >::data() [with T = unsigned char; long unsigned int inlineCapacity = 0; OverflowHandler = WTF::CrashOnOverflow; long unsigned int minCapacity = 16; Malloc = WTF::FastMalloc]’ is private within this context 115 | webkitGstAudioFormatFillSilence(m_outputStreamDescription.finfo, m_audioBuffer.data(), outBufferSize); | ~~~~~~~~~~~~~~~~~~^~ In file included from /host/home/magomez/webkit/WebKit/WebKitBuild/WPE/Release/WTF/Headers/wtf/text/StringImpl.h:38, from /host/home/magomez/webkit/WebKit/WebKitBuild/WPE/Release/WTF/Headers/wtf/text/UniquedStringImpl.h:28, from /host/home/magomez/webkit/WebKit/WebKitBuild/WPE/Release/WTF/Headers/wtf/text/AtomStringImpl.h:24, from /host/home/magomez/webkit/WebKit/WebKitBuild/WPE/Release/WTF/Headers/wtf/text/AtomString.h:24, from /host/home/magomez/webkit/WebKit/WebKitBuild/WPE/Release/WTF/Headers/wtf/text/StringHash.h:26, from /host/home/magomez/webkit/WebKit/WebKitBuild/WPE/Release/WTF/Headers/wtf/JSONValues.h:37, from /host/home/magomez/webkit/WebKit/Source/WebCore/platform/graphics/IntSize.h:30, from /host/home/magomez/webkit/WebKit/Source/WebCore/platform/graphics/IntPoint.h:28, from /host/home/magomez/webkit/WebKit/Source/WebCore/platform/graphics/FloatSize.h:31, from /host/home/magomez/webkit/WebKit/Source/WebCore/platform/mediastream/libwebrtc/gstreamer/GStreamerVideoEncoderFactory.cpp:26, from /host/home/magomez/webkit/WebKit/WebKitBuild/WPE/Release/WebCore/DerivedSources/unified-sources/UnifiedSource-3c72abbe-78.cpp:1: /host/home/magomez/webkit/WebKit/WebKitBuild/WPE/Release/WTF/Headers/wtf/Vector.h:1032:8: note: declared private here 1032 | T* data() LIFETIME_BOUND { return Base::buffer(); } | ^~~~ /host/home/magomez/webkit/WebKit/Source/WebCore/platform/mediastream/libwebrtc/gstreamer/RealtimeOutgoingAudioSourceLibWebRTC.cpp:120:51: error: ‘T* WTF::Vector< <template-parameter-1-1>, <anonymous>, <template-parameter-1-3>, <anonymous>, <template-parameter-1-5> >::data() [with T = unsigned char; long unsigned int inlineCapacity = 0; OverflowHandler = WTF::CrashOnOverflow; long unsigned int minCapacity = 16; Malloc = WTF::FastMalloc]’ is private within this context 120 | gpointer out[1] = { m_audioBuffer.data() }; | ~~~~~~~~~~~~~~~~~~^~ /host/home/magomez/webkit/WebKit/WebKitBuild/WPE/Release/WTF/Headers/wtf/Vector.h:1032:8: note: declared private here 1032 | T* data() LIFETIME_BOUND { return Base::buffer(); } Which seems to happen because Vector::data() has recently been made private.
Attachments
Miguel Gomez
Comment 1 2025-06-18 04:55:22 PDT
Adding also this error besides the previous one: In file included from /host/home/magomez/webkit/WebKit/Source/WebCore/platform/MediaCapabilitiesEncodingInfo.h:29, from /host/home/magomez/webkit/WebKit/Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCProvider.cpp:37, from /host/home/magomez/webkit/WebKit/WebKitBuild/WPE/Release/WebCore/DerivedSources/unified-sources/UnifiedSource-3c72abbe-77.cpp:5: In copy constructor ‘constexpr WebCore::MediaEncodingConfiguration::MediaEncodingConfiguration(const WebCore::MediaEncodingConfiguration&)’, inlined from ‘constexpr WebCore::MediaCapabilitiesEncodingInfo::MediaCapabilitiesEncodingInfo(const WebCore::MediaCapabilitiesEncodingInfo&)’ at /host/home/magomez/webkit/WebKit/Source/WebCore/platform/MediaCapabilitiesEncodingInfo.h:33:8, inlined from ‘constexpr std::_Optional_payload_base<_Tp>::_Storage<_Up, false>::_Storage(std::in_place_t, _Args&& ...) [with _Args = {WebCore::MediaCapabilitiesEncodingInfo&}; _Up = WebCore::MediaCapabilitiesEncodingInfo; _Tp = WebCore::MediaCapabilitiesEncodingInfo]’ at /usr/include/c++/12/optional:244:8, inlined from ‘constexpr std::_Optional_payload_base<_Tp>::_Optional_payload_base(std::in_place_t, _Args&& ...) [with _Args = {WebCore::MediaCapabilitiesEncodingInfo&}; _Tp = WebCore::MediaCapabilitiesEncodingInfo]’ at /usr/include/c++/12/optional:126:4, inlined from ‘constexpr std::_Optional_payload<WebCore::MediaCapabilitiesEncodingInfo, true, false, false>::_Optional_payload(std::in_place_t, _Args&& ...) [with _Args = {WebCore::MediaCapabilitiesEncodingInfo&}][inherited from std::_Optional_payload_base<WebCore::MediaCapabilitiesEncodingInfo>]’ at /usr/include/c++/12/optional:397:42, inlined from ‘constexpr std::_Optional_payload<WebCore::MediaCapabilitiesEncodingInfo, false, false, false>::_Optional_payload(std::in_place_t, _Args&& ...) [with _Args = {WebCore::MediaCapabilitiesEncodingInfo&}][inherited from std::_Optional_payload_base<WebCore::MediaCapabilitiesEncodingInfo>]’ at /usr/include/c++/12/optional:431:57, inlined from ‘constexpr std::_Optional_base<_Tp, <anonymous>, <anonymous> >::_Optional_base(std::in_place_t, _Args&& ...) [with _Args = {WebCore::MediaCapabilitiesEncodingInfo&}; typename std::enable_if<is_constructible_v<_Tp, _Args ...>, bool>::type <anonymous> = false; _Tp = WebCore::MediaCapabilitiesEncodingInfo; bool <anonymous> = false; bool <anonymous> = false]’ at /usr/include/c++/12/optional:521:4, inlined from ‘constexpr std::optional<_Tp>::optional(_Up&&) [with _Up = WebCore::MediaCapabilitiesEncodingInfo&; typename std::enable_if<__and_v<std::__not_<std::is_same<std::optional<_Tp>, typename std::remove_cv<typename std::remove_reference<_Iter>::type>::type> >, std::__not_<std::is_same<std::in_place_t, typename std::remove_cv<typename std::remove_reference<_Iter>::type>::type> >, std::is_constructible<_Tp, _Up>, std::is_convertible<_Iter, _Iterator> >, bool>::type <anonymous> = true; _Tp = WebCore::MediaCapabilitiesEncodingInfo]’ at /usr/include/c++/12/optional:749:47, inlined from ‘virtual std::optional<WebCore::MediaCapabilitiesEncodingInfo> WebCore::LibWebRTCProvider::videoEncodingCapabilitiesOverride(const WebCore::VideoConfiguration&)’ at /host/home/magomez/webkit/WebKit/Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCProvider.cpp:559:19: /host/home/magomez/webkit/WebKit/Source/WebCore/platform/mediacapabilities/MediaEncodingConfiguration.h:33:8: error: ‘info.WebCore::MediaCapabilitiesEncodingInfo::configuration.WebCore::MediaEncodingConfiguration::type’ is used uninitialized [-Werror=uninitialized] 33 | struct MediaEncodingConfiguration : MediaConfiguration { | ^~~~~~~~~~~~~~~~~~~~~~~~~~ /host/home/magomez/webkit/WebKit/Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCProvider.cpp: In member function ‘virtual std::optional<WebCore::MediaCapabilitiesEncodingInfo> WebCore::LibWebRTCProvider::videoEncodingCapabilitiesOverride(const WebCore::VideoConfiguration&)’: /host/home/magomez/webkit/WebKit/Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCProvider.cpp:546:35: note: ‘info’ declared here 546 | MediaCapabilitiesEncodingInfo info; | ^~~~
Philippe Normand
Comment 2 2025-06-18 06:45:31 PDT
Here I get this first... the wonderful world of compilers... In file included from /var/home/phil/WebKit/WebKitBuild/WPE/Release/WebCore/DerivedSources/unified-sources/UnifiedSource-f8afad56-36.cpp:8: In file included from /var/home/phil/WebKit/Source/WebCore/Modules/mediastream/libwebrtc/LibWebRTCDataChannelHandler.cpp:32: In file included from /var/home/phil/WebKit/Source/WebCore/Modules/mediastream/RTCDataChannel.h:30: In file included from /var/home/phil/WebKit/Source/WebCore/dom/ActiveDOMObject.h:29: /var/home/phil/WebKit/Source/WebCore/dom/ContextDestructionObserver.h:40:36: error: inline function 'WebCore::ContextDestructionObserver::scriptExecutionContext' is not defined [-Werror,-Wundefined-inline] 40 | inline ScriptExecutionContext* scriptExecutionContext() const; | ^ /var/home/phil/WebKit/Source/WebCore/Modules/mediastream/RTCDataChannel.h:106:92: note: used here 106 | ScriptExecutionContext* scriptExecutionContext() const final { return ActiveDOMObject::scriptExecutionContext(); } | ^ 1 error generated.
Philippe Normand
Comment 3 2025-06-18 07:27:21 PDT
EWS
Comment 4 2025-06-18 10:07:05 PDT
Committed 296383@main (ce592e4a2a98): <https://commits.webkit.org/296383@main> Reviewed commits have been landed. Closing PR #46903 and removing active labels.
Note You need to log in before you can comment on or make changes to this bug.