WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
294668
[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
Add attachment
proposed patch, testcase, etc.
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
Pull request:
https://github.com/WebKit/WebKit/pull/46903
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.
Top of Page
Format For Printing
XML
Clone This Bug