This isn't complete still fails with:
http://errors.yoctoproject.org/Errors/Details/698131/
and after fixing this include (by dropping webrtc prefix), the other 2 includes don't exist anymore as well and fails with:
http://errors.yoctoproject.org/Errors/Details/698135/
FAILED: ext/webrtcdsp/libgstwebrtcdsp.so.p/gstwebrtcechoprobe.cpp.o
x86_64-oe-linux-g++ -m64 -march=core2 -mtune=core2 -msse3 -mfpmath=sse -fstack-protector-strong -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security --sysroot=TOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/recipe-sysroot -Iext/webrtcdsp/libgstwebrtcdsp.so.p -Iext/webrtcdsp -I../gst-plugins-bad-1.22.0/ext/webrtcdsp -I. -I../gst-plugins-bad-1.22.0 -Igst-libs -I../gst-plugins-bad-1.22.0/gst-libs -Igst-libs/gst/audio -ITOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/recipe-sysroot/usr/include/gstreamer-1.0 -ITOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/recipe-sysroot/usr/include/glib-2.0 -ITOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/recipe-sysroot/usr/lib/glib-2.0/include -ITOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/recipe-sysroot/usr/include/orc-0.4 -ITOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/recipe-sysroot/usr/include/webrtc-audio-processing-1 -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=c++11 -Wno-non-virtual-dtor -fvisibility=hidden -fno-strict-aliasing -Wformat-nonliteral -Wmissing-declarations -Wredundant-decls -Wwrite-strings -Wformat -Wformat-security -Winit-self -Wmissing-include-dirs -Waddress -Wno-multichar -Wvla -Wpointer-arith -O2 -pipe -g -feliminate-unused-debug-types -fmacro-prefix-map=TOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/gst-plugins-bad-1.22.0=/usr/src/debug/gstreamer1.0-plugins-bad/1.22.0-r0 -fdebug-prefix-map=TOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/gst-plugins-bad-1.22.0=/usr/src/debug/gstreamer1.0-plugins-bad/1.22.0-r0 -fmacro-prefix-map=TOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/build=/usr/src/debug/gstreamer1.0-plugins-bad/1.22.0-r0 -fdebug-prefix-map=TOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/build=/usr/src/debug/gstreamer1.0-plugins-bad/1.22.0-r0 -fdebug-prefix-map=TOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/recipe-sysroot= -fmacro-prefix-map=TOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/recipe-sysroot= -fdebug-prefix-map=TOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/recipe-sysroot-native= -fvisibility-inlines-hidden -fPIC -DWEBRTC_LIBRARY_IMPL -DWEBRTC_POSIX -DNOMINMAX -pthread -DHAVE_CONFIG_H -MD -MQ ext/webrtcdsp/libgstwebrtcdsp.so.p/gstwebrtcechoprobe.cpp.o -MF ext/webrtcdsp/libgstwebrtcdsp.so.p/gstwebrtcechoprobe.cpp.o.d -o ext/webrtcdsp/libgstwebrtcdsp.so.p/gstwebrtcechoprobe.cpp.o -c ../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcechoprobe.cpp
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcechoprobe.cpp: In function 'gboolean gst_webrtc_echo_probe_setup(GstAudioFilter*, const GstAudioInfo*)':
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcechoprobe.cpp:105:8: error: 'webrtc' has not been declared
105 | (webrtc::AudioFrame::kMaxDataSizeSamples * 2) < self->period_size)
| ^~~~~~
In file included from TOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/recipe-sysroot/usr/include/gstreamer-1.0/gst/gst.h:55,
from ../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcechoprobe.h:26,
from ../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcechoprobe.cpp:34:
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcechoprobe.cpp:117:7: error: 'webrtc' has not been declared
117 | webrtc::AudioFrame::kMaxDataSizeSamples, self->period_size / 2);
| ^~~~~~
TOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/recipe-sysroot/usr/include/gstreamer-1.0/gst/gstinfo.h:727:31: note: in definition of macro 'GST_CAT_LEVEL_LOG'
727 | (GObject *) (object), __VA_ARGS__); \
| ^~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcechoprobe.cpp:114:3: note: in expansion of macro 'GST_WARNING_OBJECT'
114 | GST_WARNING_OBJECT (self, "webrtcdsp format produce too big period "
| ^~~~~~~~~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcechoprobe.cpp: In function 'gint gst_webrtc_echo_probe_read(GstWebrtcEchoProbe*, GstClockTime, gpointer, GstBuffer**)':
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcechoprobe.cpp:308:3: error: 'webrtc' has not been declared
308 | webrtc::AudioFrame * frame = (webrtc::AudioFrame *) _frame;
| ^~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcechoprobe.cpp:308:24: error: 'frame' was not declared in this scope; did you mean '_frame'?
308 | webrtc::AudioFrame * frame = (webrtc::AudioFrame *) _frame;
| ^~~~~
| _frame
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcechoprobe.cpp:308:33: error: 'webrtc' has not been declared
308 | webrtc::AudioFrame * frame = (webrtc::AudioFrame *) _frame;
| ^~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcechoprobe.cpp:308:53: error: expected primary-expression before ')' token
308 | webrtc::AudioFrame * frame = (webrtc::AudioFrame *) _frame;
| ^
FAILED: ext/webrtcdsp/libgstwebrtcdsp.so.p/gstwebrtcdsp.cpp.o
x86_64-oe-linux-g++ -m64 -march=core2 -mtune=core2 -msse3 -mfpmath=sse -fstack-protector-strong -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security --sysroot=TOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/recipe-sysroot -Iext/webrtcdsp/libgstwebrtcdsp.so.p -Iext/webrtcdsp -I../gst-plugins-bad-1.22.0/ext/webrtcdsp -I. -I../gst-plugins-bad-1.22.0 -Igst-libs -I../gst-plugins-bad-1.22.0/gst-libs -Igst-libs/gst/audio -ITOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/recipe-sysroot/usr/include/gstreamer-1.0 -ITOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/recipe-sysroot/usr/include/glib-2.0 -ITOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/recipe-sysroot/usr/lib/glib-2.0/include -ITOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/recipe-sysroot/usr/include/orc-0.4 -ITOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/recipe-sysroot/usr/include/webrtc-audio-processing-1 -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=c++11 -Wno-non-virtual-dtor -fvisibility=hidden -fno-strict-aliasing -Wformat-nonliteral -Wmissing-declarations -Wredundant-decls -Wwrite-strings -Wformat -Wformat-security -Winit-self -Wmissing-include-dirs -Waddress -Wno-multichar -Wvla -Wpointer-arith -O2 -pipe -g -feliminate-unused-debug-types -fmacro-prefix-map=TOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/gst-plugins-bad-1.22.0=/usr/src/debug/gstreamer1.0-plugins-bad/1.22.0-r0 -fdebug-prefix-map=TOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/gst-plugins-bad-1.22.0=/usr/src/debug/gstreamer1.0-plugins-bad/1.22.0-r0 -fmacro-prefix-map=TOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/build=/usr/src/debug/gstreamer1.0-plugins-bad/1.22.0-r0 -fdebug-prefix-map=TOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/build=/usr/src/debug/gstreamer1.0-plugins-bad/1.22.0-r0 -fdebug-prefix-map=TOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/recipe-sysroot= -fmacro-prefix-map=TOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/recipe-sysroot= -fdebug-prefix-map=TOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/recipe-sysroot-native= -fvisibility-inlines-hidden -fPIC -DWEBRTC_LIBRARY_IMPL -DWEBRTC_POSIX -DNOMINMAX -pthread -DHAVE_CONFIG_H -MD -MQ ext/webrtcdsp/libgstwebrtcdsp.so.p/gstwebrtcdsp.cpp.o -MF ext/webrtcdsp/libgstwebrtcdsp.so.p/gstwebrtcdsp.cpp.o.d -o ext/webrtcdsp/libgstwebrtcdsp.so.p/gstwebrtcdsp.cpp.o -c ../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp
In file included from TOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/recipe-sysroot/usr/include/absl/base/config.h:86,
from TOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/recipe-sysroot/usr/include/absl/types/optional.h:38,
from TOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/recipe-sysroot/usr/include/webrtc-audio-processing-1/modules/audio_processing/include/audio_processing.h:26,
from ../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:74:
TOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/recipe-sysroot/usr/include/absl/base/policy_checks.h:79:2: error: #error "C++ versions less than C++14 are not supported."
79 | #error "C++ versions less than C++14 are not supported."
| ^~~~~
In file included from TOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/recipe-sysroot/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:58,
from TOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/recipe-sysroot/usr/include/webrtc-audio-processing-1/api/array_view.h:18,
from TOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/recipe-sysroot/usr/include/webrtc-audio-processing-1/modules/audio_processing/include/audio_processing.h:27:
TOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/recipe-sysroot/usr/include/absl/strings/string_view.h: In member function 'constexpr void absl::string_view::remove_prefix(size_type) const':
TOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/recipe-sysroot/usr/include/absl/strings/string_view.h:340:10: error: assignment of member 'absl::string_view::ptr_' in read-only object
340 | ptr_ += n;
| ~~~~~^~~~
TOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/recipe-sysroot/usr/include/absl/strings/string_view.h:341:13: error: assignment of member 'absl::string_view::length_' in read-only object
341 | length_ -= n;
| ~~~~~~~~^~~~
TOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/recipe-sysroot/usr/include/absl/strings/string_view.h: In member function 'constexpr void absl::string_view::remove_suffix(size_type) const':
TOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/recipe-sysroot/usr/include/absl/strings/string_view.h:350:13: error: assignment of member 'absl::string_view::length_' in read-only object
350 | length_ -= n;
| ~~~~~~~~^~~~
TOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/recipe-sysroot/usr/include/absl/strings/string_view.h: In member function 'constexpr void absl::string_view::swap(absl::string_view&) const':
TOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/recipe-sysroot/usr/include/absl/strings/string_view.h:358:13: error: passing 'const absl::string_view' as 'this' argument discards qualifiers [-fpermissive]
358 | *this = s;
| ^
TOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/recipe-sysroot/usr/include/absl/strings/string_view.h:161:7: note: in call to 'absl::string_view& absl::string_view::operator=(const absl::string_view&)'
161 | class string_view {
| ^~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp: At global scope:
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:122:17: error: 'EchoCancellation' in namespace 'webrtc' does not name a type; did you mean 'EchoCanceller3Config'?
122 | typedef webrtc::EchoCancellation::SuppressionLevel GstWebrtcEchoSuppressionLevel;
| ^~~~~~~~~~~~~~~~
| EchoCanceller3Config
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp: In function 'GType gst_webrtc_echo_suppression_level_get_type()':
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:130:14: error: 'webrtc::EchoCancellation' has not been declared
130 | {webrtc::EchoCancellation::kLowSuppression, "Low Suppression", "low"},
| ^~~~~~~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:131:14: error: 'webrtc::EchoCancellation' has not been declared
131 | {webrtc::EchoCancellation::kModerateSuppression,
| ^~~~~~~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:133:14: error: 'webrtc::EchoCancellation' has not been declared
133 | {webrtc::EchoCancellation::kHighSuppression, "high Suppression", "high"},
| ^~~~~~~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp: At global scope:
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:144:17: error: 'NoiseSuppression' in namespace 'webrtc' does not name a type
144 | typedef webrtc::NoiseSuppression::Level GstWebrtcNoiseSuppressionLevel;
| ^~~~~~~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp: In function 'GType gst_webrtc_noise_suppression_level_get_type()':
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:152:14: error: 'webrtc::NoiseSuppression' has not been declared
152 | {webrtc::NoiseSuppression::kLow, "Low Suppression", "low"},
| ^~~~~~~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:153:14: error: 'webrtc::NoiseSuppression' has not been declared
153 | {webrtc::NoiseSuppression::kModerate, "Moderate Suppression", "moderate"},
| ^~~~~~~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:154:14: error: 'webrtc::NoiseSuppression' has not been declared
154 | {webrtc::NoiseSuppression::kHigh, "High Suppression", "high"},
| ^~~~~~~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:155:14: error: 'webrtc::NoiseSuppression' has not been declared
155 | {webrtc::NoiseSuppression::kVeryHigh, "Very High Suppression",
| ^~~~~~~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp: At global scope:
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:167:17: error: 'GainControl' in namespace 'webrtc' does not name a type
167 | typedef webrtc::GainControl::Mode GstWebrtcGainControlMode;
| ^~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp: In function 'GType gst_webrtc_gain_control_mode_get_type()':
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:175:14: error: 'webrtc::GainControl' has not been declared
175 | {webrtc::GainControl::kAdaptiveDigital, "Adaptive Digital", "adaptive-digital"},
| ^~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:176:14: error: 'webrtc::GainControl' has not been declared
176 | {webrtc::GainControl::kFixedDigital, "Fixed Digital", "fixed-digital"},
| ^~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp: At global scope:
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:187:17: error: 'VoiceDetection' in namespace 'webrtc' does not name a type
187 | typedef webrtc::VoiceDetection::Likelihood GstWebrtcVoiceDetectionLikelihood;
| ^~~~~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp: In function 'GType gst_webrtc_voice_detection_likelihood_get_type()':
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:195:14: error: 'webrtc::VoiceDetection' has not been declared
195 | {webrtc::VoiceDetection::kVeryLowLikelihood, "Very Low Likelihood", "very-low"},
| ^~~~~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:196:14: error: 'webrtc::VoiceDetection' has not been declared
196 | {webrtc::VoiceDetection::kLowLikelihood, "Low Likelihood", "low"},
| ^~~~~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:197:14: error: 'webrtc::VoiceDetection' has not been declared
197 | {webrtc::VoiceDetection::kModerateLikelihood, "Moderate Likelihood", "moderate"},
| ^~~~~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:198:14: error: 'webrtc::VoiceDetection' has not been declared
198 | {webrtc::VoiceDetection::kHighLikelihood, "High Likelihood", "high"},
| ^~~~~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp: At global scope:
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:260:11: error: 'EchoCancellation' in namespace 'webrtc' does not name a type; did you mean 'EchoCanceller3Config'?
260 | webrtc::EchoCancellation::SuppressionLevel echo_suppression_level;
| ^~~~~~~~~~~~~~~~
| EchoCanceller3Config
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:262:11: error: 'NoiseSuppression' in namespace 'webrtc' does not name a type
262 | webrtc::NoiseSuppression::Level noise_suppression_level;
| ^~~~~~~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:271:11: error: 'GainControl' in namespace 'webrtc' does not name a type
271 | webrtc::GainControl::Mode gain_control_mode;
| ^~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:274:11: error: 'VoiceDetection' in namespace 'webrtc' does not name a type
274 | webrtc::VoiceDetection::Likelihood voice_detection_likelihood;
| ^~~~~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp: In function 'GstFlowReturn gst_webrtc_dsp_analyze_reverse_stream(GstWebrtcDsp*, GstClockTime)':
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:380:11: error: 'AudioFrame' is not a member of 'webrtc'
380 | webrtc::AudioFrame frame;
| ^~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:400:68: error: 'frame' was not declared in this scope
400 | delay = gst_webrtc_echo_probe_read (probe, rec_time, (gpointer) &frame, &buf);
| ^~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp: In function 'void gst_webrtc_vad_post_activity(GstWebrtcDsp*, GstBuffer*, gboolean)':
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:455:22: error: 'class webrtc::AudioProcessing' has no member named 'level_estimator'
455 | level = self->apm->level_estimator ()->RMS ();
| ^~~~~~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp: In function 'GstFlowReturn gst_webrtc_dsp_process_stream(GstWebrtcDsp*, GstBuffer*)':
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:493:13: error: 'AudioFrame' is not a member of 'webrtc'
493 | webrtc::AudioFrame frame;
| ^~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:494:5: error: 'frame' was not declared in this scope
494 | frame.num_channels_ = self->info.channels;
| ^~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:514:40: error: 'class webrtc::AudioProcessing' has no member named 'voice_detection'
514 | gboolean stream_has_voice = apm->voice_detection ()->stream_has_voice ();
| ^~~~~~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp: In function 'gboolean gst_webrtc_dsp_start(GstBaseTransform*)':
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:590:24: error: 'ExtendedFilter' is not a member of 'webrtc'
590 | config.Set < webrtc::ExtendedFilter >
| ^~~~~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:590:24: error: 'ExtendedFilter' is not a member of 'webrtc'
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:591:12: error: expected type-specifier
591 | (new webrtc::ExtendedFilter (self->extended_filter));
| ^~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:594:24: error: 'DelayAgnostic' is not a member of 'webrtc'
594 | config.Set < webrtc::DelayAgnostic >
| ^~~~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:594:24: error: 'DelayAgnostic' is not a member of 'webrtc'
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:595:12: error: expected type-specifier
595 | (new webrtc::DelayAgnostic (self->delay_agnostic));
| ^~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:599:40: error: 'Create' is not a member of 'webrtc::AudioProcessing'
599 | self->apm = webrtc::AudioProcessing::Create (config);
| ^~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp: In function 'gboolean gst_webrtc_dsp_setup(GstAudioFilter*, const GstAudioInfo*)':
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:646:16: error: 'webrtc::AudioFrame' has not been declared
646 | (webrtc::AudioFrame::kMaxDataSizeSamples * 2) < self->period_size)
| ^~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:680:10: error: 'class webrtc::AudioProcessing' has no member named 'high_pass_filter'
680 | apm->high_pass_filter ()->Enable (true);
| ^~~~~~~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:685:10: error: 'class webrtc::AudioProcessing' has no member named 'echo_cancellation'
685 | apm->echo_cancellation ()->enable_drift_compensation (false);
| ^~~~~~~~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:686:10: error: 'class webrtc::AudioProcessing' has no member named 'echo_cancellation'
686 | apm->echo_cancellation ()
| ^~~~~~~~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:687:40: error: 'GstWebrtcDsp' {aka 'struct _GstWebrtcDsp'} has no member named 'echo_suppression_level'
687 | ->set_suppression_level (self->echo_suppression_level);
| ^~~~~~~~~~~~~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:688:10: error: 'class webrtc::AudioProcessing' has no member named 'echo_cancellation'
688 | apm->echo_cancellation ()->Enable (true);
| ^~~~~~~~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:693:10: error: 'class webrtc::AudioProcessing' has no member named 'noise_suppression'
693 | apm->noise_suppression ()->set_level (self->noise_suppression_level);
| ^~~~~~~~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:693:49: error: 'GstWebrtcDsp' {aka 'struct _GstWebrtcDsp'} has no member named 'noise_suppression_level'; did you mean 'noise_suppression'?
693 | apm->noise_suppression ()->set_level (self->noise_suppression_level);
| ^~~~~~~~~~~~~~~~~~~~~~~
| noise_suppression
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:694:10: error: 'class webrtc::AudioProcessing' has no member named 'noise_suppression'
694 | apm->noise_suppression ()->Enable (true);
| ^~~~~~~~~~~~~~~~~
In file included from TOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/recipe-sysroot/usr/include/gstreamer-1.0/gst/gst.h:55,
from ../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.h:26,
from ../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:71:
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:705:45: error: 'GstWebrtcDsp' {aka 'struct _GstWebrtcDsp'} has no member named 'gain_control_mode'; did you mean 'gain_control'?
705 | g_enum_get_value (mode_class, self->gain_control_mode)->value_name);
| ^~~~~~~~~~~~~~~~~
TOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/recipe-sysroot/usr/include/gstreamer-1.0/gst/gstinfo.h:727:31: note: in definition of macro 'GST_CAT_LEVEL_LOG'
727 | (GObject *) (object), __VA_ARGS__); \
| ^~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:701:5: note: in expansion of macro 'GST_DEBUG_OBJECT'
701 | GST_DEBUG_OBJECT (self, "Enabling Digital Gain Control, target level "
| ^~~~~~~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:709:10: error: 'class webrtc::AudioProcessing' has no member named 'gain_control'
709 | apm->gain_control ()->set_mode (self->gain_control_mode);
| ^~~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:709:43: error: 'GstWebrtcDsp' {aka 'struct _GstWebrtcDsp'} has no member named 'gain_control_mode'; did you mean 'gain_control'?
709 | apm->gain_control ()->set_mode (self->gain_control_mode);
| ^~~~~~~~~~~~~~~~~
| gain_control
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:710:10: error: 'class webrtc::AudioProcessing' has no member named 'gain_control'
710 | apm->gain_control ()->set_target_level_dbfs (self->target_level_dbfs);
| ^~~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:711:10: error: 'class webrtc::AudioProcessing' has no member named 'gain_control'
711 | apm->gain_control ()->set_compression_gain_db (self->compression_gain_db);
| ^~~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:712:10: error: 'class webrtc::AudioProcessing' has no member named 'gain_control'
712 | apm->gain_control ()->enable_limiter (self->limiter);
| ^~~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:713:10: error: 'class webrtc::AudioProcessing' has no member named 'gain_control'
713 | apm->gain_control ()->Enable (true);
| ^~~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:722:17: error: 'GstWebrtcDsp' {aka 'struct _GstWebrtcDsp'} has no member named 'voice_detection_likelihood'
722 | self->voice_detection_likelihood)->value_name);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
TOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/recipe-sysroot/usr/include/gstreamer-1.0/gst/gstinfo.h:727:31: note: in definition of macro 'GST_CAT_LEVEL_LOG'
727 | (GObject *) (object), __VA_ARGS__); \
| ^~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:719:5: note: in expansion of macro 'GST_DEBUG_OBJECT'
719 | GST_DEBUG_OBJECT (self, "Enabling Voice Activity Detection, frame size "
| ^~~~~~~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:727:10: error: 'class webrtc::AudioProcessing' has no member named 'voice_detection'
727 | apm->voice_detection ()->Enable (true);
| ^~~~~~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:728:10: error: 'class webrtc::AudioProcessing' has no member named 'voice_detection'
728 | apm->voice_detection ()->set_likelihood (self->voice_detection_likelihood);
| ^~~~~~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:728:52: error: 'GstWebrtcDsp' {aka 'struct _GstWebrtcDsp'} has no member named 'voice_detection_likelihood'
728 | apm->voice_detection ()->set_likelihood (self->voice_detection_likelihood);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:729:10: error: 'class webrtc::AudioProcessing' has no member named 'voice_detection'
729 | apm->voice_detection ()->set_frame_size_ms (
| ^~~~~~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:731:10: error: 'class webrtc::AudioProcessing' has no member named 'level_estimator'
731 | apm->level_estimator ()->Enable (true);
| ^~~~~~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:743:15: error: 'webrtc::AudioFrame' has not been declared
743 | webrtc::AudioFrame::kMaxDataSizeSamples, self->period_size / 2);
| ^~~~~~~~~~
TOPDIR/tmp-glibc/work/core2-64-oe-linux/gstreamer1.0-plugins-bad/1.22.0-r0/recipe-sysroot/usr/include/gstreamer-1.0/gst/gstinfo.h:727:31: note: in definition of macro 'GST_CAT_LEVEL_LOG'
727 | (GObject *) (object), __VA_ARGS__); \
| ^~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:740:3: note: in expansion of macro 'GST_WARNING_OBJECT'
740 | GST_WARNING_OBJECT (self, "webrtcdsp format produce too big period "
| ^~~~~~~~~~~~~~~~~~
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp: In function 'void gst_webrtc_dsp_set_property(GObject*, guint, const GValue*, GParamSpec*)':
../gst-plugins-bad-1.22.0/ext/webrtcdsp/gstwebrtcdsp.cpp:806:13: error: 'GstWebrtcDsp' {aka 'struct _GstWebrtcDsp'} has no member named 'echo_suppression_level'
806 | self->echo_suppression_level =
|
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Martin Jansa [Fri, 17 Mar 2023 12:27:11 +0000 (13:27 +0100)]
WIP: pulseaudio: accept webrtc-audio-processing-1
This isn't complete still fails with:
http://errors.yoctoproject.org/Errors/Details/698130/
and after fixing this include (by dropping webrtc prefix), the other 2 includes don't exist anymore as well and fails with:
http://errors.yoctoproject.org/Errors/Details/698132/
FAILED: src/modules/echo-cancel/libwebrtc-util.so.p/webrtc.cc.o
x86_64-oe-linux-g++ -m64 -march=core2 -mtune=core2 -msse3 -mfpmath=sse -fstack-protector-strong -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security --sysroot=TOPDIR/tmp-glibc/work/core2-64-oe-linux/pulseaudio/16.1-r0/recipe-sysroot -Isrc/modules/echo-cancel/libwebrtc-util.so.p -Isrc/modules/echo-cancel -I../pulseaudio-16.1/src/modules/echo-cancel -I. -I../pulseaudio-16.1 -Isrc -I../pulseaudio-16.1/src -ITOPDIR/tmp-glibc/work/core2-64-oe-linux/pulseaudio/16.1-r0/recipe-sysroot/usr/include/webrtc-audio-processing-1 -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=c++11 -O2 -pipe -g -feliminate-unused-debug-types -fmacro-prefix-map=TOPDIR/tmp-glibc/work/core2-64-oe-linux/pulseaudio/16.1-r0/pulseaudio-16.1=/usr/src/debug/pulseaudio/16.1-r0 -fdebug-prefix-map=TOPDIR/tmp-glibc/work/core2-64-oe-linux/pulseaudio/16.1-r0/pulseaudio-16.1=/usr/src/debug/pulseaudio/16.1-r0 -fmacro-prefix-map=TOPDIR/tmp-glibc/work/core2-64-oe-linux/pulseaudio/16.1-r0/build=/usr/src/debug/pulseaudio/16.1-r0 -fdebug-prefix-map=TOPDIR/tmp-glibc/work/core2-64-oe-linux/pulseaudio/16.1-r0/build=/usr/src/debug/pulseaudio/16.1-r0 -fdebug-prefix-map=TOPDIR/tmp-glibc/work/core2-64-oe-linux/pulseaudio/16.1-r0/recipe-sysroot= -fmacro-prefix-map=TOPDIR/tmp-glibc/work/core2-64-oe-linux/pulseaudio/16.1-r0/recipe-sysroot= -fdebug-prefix-map=TOPDIR/tmp-glibc/work/core2-64-oe-linux/pulseaudio/16.1-r0/recipe-sysroot-native= -fvisibility-inlines-hidden -fPIC -DWEBRTC_LIBRARY_IMPL -DWEBRTC_POSIX -DNOMINMAX -DHAVE_CONFIG_H -D_GNU_SOURCE -D__INCLUDED_FROM_PULSE_AUDIO -MD -MQ src/modules/echo-cancel/libwebrtc-util.so.p/webrtc.cc.o -MF src/modules/echo-cancel/libwebrtc-util.so.p/webrtc.cc.o.d -o src/modules/echo-cancel/libwebrtc-util.so.p/webrtc.cc.o -c ../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc
In file included from TOPDIR/tmp-glibc/work/core2-64-oe-linux/pulseaudio/16.1-r0/recipe-sysroot/usr/include/absl/base/config.h:86,
from TOPDIR/tmp-glibc/work/core2-64-oe-linux/pulseaudio/16.1-r0/recipe-sysroot/usr/include/absl/types/optional.h:38,
from TOPDIR/tmp-glibc/work/core2-64-oe-linux/pulseaudio/16.1-r0/recipe-sysroot/usr/include/webrtc-audio-processing-1/modules/audio_processing/include/audio_processing.h:26,
from ../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:37:
TOPDIR/tmp-glibc/work/core2-64-oe-linux/pulseaudio/16.1-r0/recipe-sysroot/usr/include/absl/base/policy_checks.h:79:2: error: #error "C++ versions less than C++14 are not supported."
79 | #error "C++ versions less than C++14 are not supported."
| ^~~~~
In file included from TOPDIR/tmp-glibc/work/core2-64-oe-linux/pulseaudio/16.1-r0/recipe-sysroot/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:58,
from TOPDIR/tmp-glibc/work/core2-64-oe-linux/pulseaudio/16.1-r0/recipe-sysroot/usr/include/webrtc-audio-processing-1/api/array_view.h:18,
from TOPDIR/tmp-glibc/work/core2-64-oe-linux/pulseaudio/16.1-r0/recipe-sysroot/usr/include/webrtc-audio-processing-1/modules/audio_processing/include/audio_processing.h:27:
TOPDIR/tmp-glibc/work/core2-64-oe-linux/pulseaudio/16.1-r0/recipe-sysroot/usr/include/absl/strings/string_view.h: In member function 'constexpr void absl::string_view::remove_prefix(size_type) const':
TOPDIR/tmp-glibc/work/core2-64-oe-linux/pulseaudio/16.1-r0/recipe-sysroot/usr/include/absl/strings/string_view.h:340:10: error: assignment of member 'absl::string_view::ptr_' in read-only object
340 | ptr_ += n;
| ~~~~~^~~~
TOPDIR/tmp-glibc/work/core2-64-oe-linux/pulseaudio/16.1-r0/recipe-sysroot/usr/include/absl/strings/string_view.h:341:13: error: assignment of member 'absl::string_view::length_' in read-only object
341 | length_ -= n;
| ~~~~~~~~^~~~
TOPDIR/tmp-glibc/work/core2-64-oe-linux/pulseaudio/16.1-r0/recipe-sysroot/usr/include/absl/strings/string_view.h: In member function 'constexpr void absl::string_view::remove_suffix(size_type) const':
TOPDIR/tmp-glibc/work/core2-64-oe-linux/pulseaudio/16.1-r0/recipe-sysroot/usr/include/absl/strings/string_view.h:350:13: error: assignment of member 'absl::string_view::length_' in read-only object
350 | length_ -= n;
| ~~~~~~~~^~~~
TOPDIR/tmp-glibc/work/core2-64-oe-linux/pulseaudio/16.1-r0/recipe-sysroot/usr/include/absl/strings/string_view.h: In member function 'constexpr void absl::string_view::swap(absl::string_view&) const':
TOPDIR/tmp-glibc/work/core2-64-oe-linux/pulseaudio/16.1-r0/recipe-sysroot/usr/include/absl/strings/string_view.h:358:13: error: passing 'const absl::string_view' as 'this' argument discards qualifiers [-fpermissive]
358 | *this = s;
| ^
TOPDIR/tmp-glibc/work/core2-64-oe-linux/pulseaudio/16.1-r0/recipe-sysroot/usr/include/absl/strings/string_view.h:161:7: note: in call to 'absl::string_view& absl::string_view::operator=(const absl::string_view&)'
161 | class string_view {
| ^~~~~~~~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc: In function 'int routing_mode_from_string(const char*)':
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:84:24: error: 'webrtc::EchoControlMobile' has not been declared
84 | return webrtc::EchoControlMobile::kQuietEarpieceOrHeadset;
| ^~~~~~~~~~~~~~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:86:24: error: 'webrtc::EchoControlMobile' has not been declared
86 | return webrtc::EchoControlMobile::kEarpiece;
| ^~~~~~~~~~~~~~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:88:24: error: 'webrtc::EchoControlMobile' has not been declared
88 | return webrtc::EchoControlMobile::kLoudEarpiece;
| ^~~~~~~~~~~~~~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:90:24: error: 'webrtc::EchoControlMobile' has not been declared
90 | return webrtc::EchoControlMobile::kSpeakerphone;
| ^~~~~~~~~~~~~~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:92:24: error: 'webrtc::EchoControlMobile' has not been declared
92 | return webrtc::EchoControlMobile::kLoudSpeakerphone;
| ^~~~~~~~~~~~~~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc: At global scope:
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:97:60: error: expected class-name before '{' token
97 | class PaWebrtcTraceCallback : public webrtc::TraceCallback {
| ^
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:98:24: error: 'webrtc::TraceLevel' has not been declared
98 | void Print(webrtc::TraceLevel level, const char *message, int length)
| ^~~~~~~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc: In member function 'void PaWebrtcTraceCallback::Print(int, const char*, int)':
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:100:29: error: 'kTraceError' is not a member of 'webrtc'
100 | if (level & webrtc::kTraceError || level & webrtc::kTraceCritical)
| ^~~~~~~~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:100:60: error: 'kTraceCritical' is not a member of 'webrtc'
100 | if (level & webrtc::kTraceError || level & webrtc::kTraceCritical)
| ^~~~~~~~~~~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:102:34: error: 'kTraceWarning' is not a member of 'webrtc'
102 | else if (level & webrtc::kTraceWarning)
| ^~~~~~~~~~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:104:34: error: 'kTraceInfo' is not a member of 'webrtc'
104 | else if (level & webrtc::kTraceInfo)
| ^~~~~~~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc: At global scope:
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:165:79: error: 'Point' is not a member of 'webrtc'
165 | static bool parse_mic_geometry(const char **mic_geometry, std::vector<webrtc::Point>& geometry) {
| ^~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:165:79: error: 'Point' is not a member of 'webrtc'
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:165:84: error: template argument 1 is invalid
165 | static bool parse_mic_geometry(const char **mic_geometry, std::vector<webrtc::Point>& geometry) {
| ^
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:165:84: error: template argument 2 is invalid
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc: In function 'bool parse_mic_geometry(const char**, int&)':
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:202:30: error: request for member 'size' in 'geometry', which is of non-class type 'int'
202 | for (i = 0; i < geometry.size(); i++) {
| ^~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:209:27: error: request for member 'size' in 'geometry', which is of non-class type 'int'
209 | if (i != geometry.size() - 1) {
| ^~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:220:17: error: invalid types 'int[long unsigned int]' for array subscript
220 | geometry[i].c[0] = f[0];
| ^
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:221:17: error: invalid types 'int[long unsigned int]' for array subscript
221 | geometry[i].c[1] = f[1];
| ^
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:222:17: error: invalid types 'int[long unsigned int]' for array subscript
222 | geometry[i].c[2] = f[2];
| ^
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc: In function 'bool pa_webrtc_ec_init(pa_core*, pa_echo_canceller*, pa_sample_spec*, pa_channel_map*, pa_sample_spec*, pa_channel_map*, pa_sample_spec*, pa_channel_map*, uint32_t*, const char*)':
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:358:28: error: 'ExtendedFilter' is not a member of 'webrtc'
358 | config.Set<webrtc::ExtendedFilter>(new webrtc::ExtendedFilter(true));
| ^~~~~~~~~~~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:358:28: error: 'ExtendedFilter' is not a member of 'webrtc'
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:358:48: error: expected type-specifier
358 | config.Set<webrtc::ExtendedFilter>(new webrtc::ExtendedFilter(true));
| ^~~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:371:17: error: 'webrtc::Trace' has not been declared
371 | webrtc::Trace::CreateTrace();
| ^~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:372:17: error: 'webrtc::Trace' has not been declared
372 | webrtc::Trace::set_level_filter(webrtc::kTraceAll);
| ^~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:372:49: error: 'kTraceAll' is not a member of 'webrtc'
372 | webrtc::Trace::set_level_filter(webrtc::kTraceAll);
| ^~~~~~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:374:17: error: 'webrtc::Trace' has not been declared
374 | webrtc::Trace::SetTraceCallback((PaWebrtcTraceCallback *) ec->params.webrtc.trace_callback);
| ^~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:381:29: error: 'Point' is not a member of 'webrtc'
381 | std::vector<webrtc::Point> geometry(rec_ss->channels);
| ^~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:381:29: error: 'Point' is not a member of 'webrtc'
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:381:34: error: template argument 1 is invalid
381 | std::vector<webrtc::Point> geometry(rec_ss->channels);
| ^
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:381:34: error: template argument 2 is invalid
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:382:17: error: 'SphericalPointf' is not a member of 'webrtc'
382 | webrtc::SphericalPointf direction(0.0f, 0.0f, 0.0f);
| ^~~~~~~~~~~~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:415:13: error: 'direction' was not declared in this scope; did you mean 'sigaction'?
415 | direction.s[0] = f[0];
| ^~~~~~~~~
| sigaction
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:421:32: error: 'Beamforming' is not a member of 'webrtc'
421 | config.Set<webrtc::Beamforming>(new webrtc::Beamforming(true, geometry));
| ^~~~~~~~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:421:32: error: 'Beamforming' is not a member of 'webrtc'
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:421:49: error: expected type-specifier
421 | config.Set<webrtc::Beamforming>(new webrtc::Beamforming(true, geometry));
| ^~~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:423:32: error: 'Beamforming' is not a member of 'webrtc'
423 | config.Set<webrtc::Beamforming>(new webrtc::Beamforming(true, geometry, direction));
| ^~~~~~~~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:423:32: error: 'Beamforming' is not a member of 'webrtc'
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:423:49: error: expected type-specifier
423 | config.Set<webrtc::Beamforming>(new webrtc::Beamforming(true, geometry, direction));
| ^~~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:426:36: error: 'Create' is not a member of 'webrtc::AudioProcessing'
426 | apm = webrtc::AudioProcessing::Create(config);
| ^~~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:440:14: error: 'class webrtc::AudioProcessing' has no member named 'high_pass_filter'
440 | apm->high_pass_filter()->Enable(true);
| ^~~~~~~~~~~~~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:443:14: error: 'class webrtc::AudioProcessing' has no member named 'echo_cancellation'
443 | apm->echo_cancellation()->enable_drift_compensation(ec->params.drift_compensation);
| ^~~~~~~~~~~~~~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:444:14: error: 'class webrtc::AudioProcessing' has no member named 'echo_cancellation'
444 | apm->echo_cancellation()->Enable(true);
| ^~~~~~~~~~~~~~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:446:14: error: 'class webrtc::AudioProcessing' has no member named 'echo_control_mobile'
446 | apm->echo_control_mobile()->set_routing_mode(static_cast<webrtc::EchoControlMobile::RoutingMode>(rm));
| ^~~~~~~~~~~~~~~~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:446:74: error: 'EchoControlMobile' in namespace 'webrtc' does not name a type; did you mean 'EchoControl'?
446 | apm->echo_control_mobile()->set_routing_mode(static_cast<webrtc::EchoControlMobile::RoutingMode>(rm));
| ^~~~~~~~~~~~~~~~~
| EchoControl
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:446:91: error: expected '>' before '::' token
446 | apm->echo_control_mobile()->set_routing_mode(static_cast<webrtc::EchoControlMobile::RoutingMode>(rm));
| ^~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:446:91: error: expected '(' before '::' token
446 | apm->echo_control_mobile()->set_routing_mode(static_cast<webrtc::EchoControlMobile::RoutingMode>(rm));
| ^~
| (
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:446:93: error: '::RoutingMode' has not been declared
446 | apm->echo_control_mobile()->set_routing_mode(static_cast<webrtc::EchoControlMobile::RoutingMode>(rm));
| ^~~~~~~~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:447:14: error: 'class webrtc::AudioProcessing' has no member named 'echo_control_mobile'
447 | apm->echo_control_mobile()->enable_comfort_noise(cn);
| ^~~~~~~~~~~~~~~~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:448:14: error: 'class webrtc::AudioProcessing' has no member named 'echo_control_mobile'
448 | apm->echo_control_mobile()->Enable(true);
| ^~~~~~~~~~~~~~~~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:452:14: error: 'class webrtc::AudioProcessing' has no member named 'noise_suppression'
452 | apm->noise_suppression()->set_level(webrtc::NoiseSuppression::kHigh);
| ^~~~~~~~~~~~~~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:452:53: error: 'webrtc::NoiseSuppression' has not been declared
452 | apm->noise_suppression()->set_level(webrtc::NoiseSuppression::kHigh);
| ^~~~~~~~~~~~~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:453:14: error: 'class webrtc::AudioProcessing' has no member named 'noise_suppression'
453 | apm->noise_suppression()->Enable(true);
| ^~~~~~~~~~~~~~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:457:37: error: 'webrtc::EchoControlMobile' has not been declared
457 | if (mobile && rm <= webrtc::EchoControlMobile::kEarpiece) {
| ^~~~~~~~~~~~~~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:459:18: error: 'class webrtc::AudioProcessing' has no member named 'gain_control'
459 | apm->gain_control()->set_mode(webrtc::GainControl::kFixedDigital);
| ^~~~~~~~~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:459:51: error: 'webrtc::GainControl' has not been declared
459 | apm->gain_control()->set_mode(webrtc::GainControl::kFixedDigital);
| ^~~~~~~~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:462:18: error: 'class webrtc::AudioProcessing' has no member named 'gain_control'
462 | apm->gain_control()->set_mode(webrtc::GainControl::kAdaptiveDigital);
| ^~~~~~~~~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:462:51: error: 'webrtc::GainControl' has not been declared
462 | apm->gain_control()->set_mode(webrtc::GainControl::kAdaptiveDigital);
| ^~~~~~~~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:465:18: error: 'class webrtc::AudioProcessing' has no member named 'gain_control'
465 | apm->gain_control()->set_mode(webrtc::GainControl::kAdaptiveAnalog);
| ^~~~~~~~~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:465:51: error: 'webrtc::GainControl' has not been declared
465 | apm->gain_control()->set_mode(webrtc::GainControl::kAdaptiveAnalog);
| ^~~~~~~~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:466:22: error: 'class webrtc::AudioProcessing' has no member named 'gain_control'
466 | if (apm->gain_control()->set_analog_level_limits(0, WEBRTC_AGC_MAX_VOLUME) !=
| ^~~~~~~~~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:474:14: error: 'class webrtc::AudioProcessing' has no member named 'gain_control'
474 | apm->gain_control()->Enable(true);
| ^~~~~~~~~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:478:14: error: 'class webrtc::AudioProcessing' has no member named 'voice_detection'
478 | apm->voice_detection()->Enable(true);
| ^~~~~~~~~~~~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:500:17: error: 'webrtc::Trace' has not been declared
500 | webrtc::Trace::ReturnTrace();
| ^~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc: In function 'void pa_webrtc_ec_record(pa_echo_canceller*, const uint8_t*, uint8_t*)':
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:541:14: error: 'class webrtc::AudioProcessing' has no member named 'gain_control'
541 | apm->gain_control()->set_stream_analog_level(old_volume);
| ^~~~~~~~~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:556:31: error: 'class webrtc::AudioProcessing' has no member named 'gain_control'
556 | new_volume = apm->gain_control()->stream_analog_level();
| ^~~~~~~~~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc: In function 'void pa_webrtc_ec_set_drift(pa_echo_canceller*, float)':
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:569:10: error: 'class webrtc::AudioProcessing' has no member named 'echo_cancellation'
569 | apm->echo_cancellation()->set_stream_drift_samples(drift * ec->params.webrtc.blocksize);
| ^~~~~~~~~~~~~~~~~
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc: In function 'void pa_webrtc_ec_done(pa_echo_canceller*)':
../pulseaudio-16.1/src/modules/echo-cancel/webrtc.cc:581:17: error: 'webrtc::Trace' has not been declared
581 | webrtc::Trace::ReturnTrace();
| ^~~~~
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Richard Purdie [Thu, 16 Mar 2023 22:51:10 +0000 (22:51 +0000)]
resulttool: Improve overlapping ptest result reporting
With the move to a ptest per image, the multiple ptest log scenario
is much more likely. Tweak the handling to only warn if there are
overlapping files.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The reverted patch was forcing systemd to do preset-all at boot time (first boot)
in a function that simuilates 'preset-all' at rootfs time. This is not right.
To force a first boot, just do not run this function, as said in the comment:
"""
# If we populate the systemd links we also create /etc/machine-id, which
# allows systemd to boot with the filesystem read-only before generating
# a real value and then committing it back.
#
# For the stateless configuration, where /etc is generated at runtime
# (for example on a tmpfs), this script shouldn't run at all and we
# allow systemd to completely populate /etc.
"""
For example, removing 'systemd_preset_all;' from IMAGE_PREPROCESS_COMMAND in some
distro conf file will achieve the same effect of the original patch.
Signed-off-by: Chen Qi <Qi.Chen@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Thu, 16 Mar 2023 08:53:25 +0000 (08:53 +0000)]
openssl: Fix reproducibility issue
Fix an issue introduced in the new openssl version where an assembler file
isn't generated in a reproducible way by seeding the perl random number
generator consistently. It has no crypto impact, it is just used to
avoid function name clashes.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Randy MacLeod [Wed, 15 Mar 2023 04:48:00 +0000 (00:48 -0400)]
openssl: update from 3.0.8 to 3.1.0
>From the NEWS.md file:
### Major changes between OpenSSL 3.0 and OpenSSL 3.1.0 [14 Mar 2023]
* SSL 3, TLS 1.0, TLS 1.1, and DTLS 1.0 only work at security level 0.
* Performance enhancements and new platform support including new
assembler code algorithm implementations.
* Deprecated LHASH statistics functions.
* FIPS 140-3 compliance changes.
Drop the upstreamed afalg.patch: c425e365f4 Configure: don't try to be clever when configuring afalgeng
Signed-off-by: Randy MacLeod <randy.macleod@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Wang Mingyu [Wed, 15 Mar 2023 11:13:34 +0000 (19:13 +0800)]
python3-urllib3: upgrade 1.26.14 -> 1.26.15
Changelog:
==========
* Fix socket timeout value when "HTTPConnection" is reused ('#2645 <https://github.com/urllib3/urllib3/issues/2645>'__)
* Remove "!" character from the unreserved characters in IPv6 Zone ID parsing
('#2899 <https://github.com/urllib3/urllib3/issues/2899>'__)
* Fix IDNA handling of '\x80' byte ('#2901 <https://github.com/urllib3/urllib3/issues/2901>'__)
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Wang Mingyu [Wed, 15 Mar 2023 11:13:33 +0000 (19:13 +0800)]
python3-testtools: upgrade 2.5.0 -> 2.6.0
Improvements
------------
* Add support for Python 3.10 and 3.11.
* Drop support for Python 3.5 (EOL).
* Distutils integration is deprecated and will be removed in the next major
version.
* Use "CompoundFixture" from "fixtures>=2.0" rather than rolling our
own.
* Provide a "testtools[twisted]" extra documenting dependencies needed for
"testtools.twistedsupport".
* Make "TestCase" hashable.
* Prevent "AttributeError" in "TestCase.__eq__" for objects lacking a
"__dict__" attribute.
* Replace deprecated "cgi" module usage with "email".
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Wang Mingyu [Wed, 15 Mar 2023 11:11:23 +0000 (19:11 +0800)]
python3-scons: upgrade 4.4.0 -> 4.5.1
Changelog:
==========
- Fix a problem in 4.5.0 where using something like the following code
will cause a Clone()'d environment to share the CPPDEFINES with the
original Environment() which was cloned. Causing leakage of changes
to CPPDEFINES when they should be completely independent after the Clone.
env=Environment(CPPDEFINES=['a'])
env.Append(CPPDEFINES=['b']) (or AppendUnique,Prepend,PrependUnique)
env1=env.Clone()
env1.Append(CPPDEFINES=['c']) (or any other modification, but not overwriting CPPDEFINES
Now env['CPPDEFINES'] will contain 'c' when it should not.
- Do not initialize DefaultEnvironment when calling EnsureSConsVersion(),
EnsurePythonVersion(), Exit(), GetLaunchDir() and SConscriptChdir().
- Remove unused private method SConsEnvironment._exceeds_version().
- Added ValidateOptions() which will check that all command line options are in either
those specified by SCons itself, or by AddOption() in SConstruct/SConscript. It should
not be called until all AddOption() calls are completed. Resolves Issue #4187
- Refactored SCons/Taskmaster into a package. Moved SCons/Jobs.py into that package.
NOTE: If you hook into SCons.Jobs, you'll have to change that to use SCons.Taskmaster.Jobs
- Changed the Taskmaster trace logic to use python's logging module. The output formatting
should remain (mostly) the same. Minor update to unittest for this to adjust for 1 less newline.
- Migrated logging logic for --taskmastertrace to use Python's logging module. Added logging
to NewParallel Job class (Andrew Morrow's new parallel job implementation)
- Ninja: Fix execution environment sanitation for launching ninja. Previously if you set an
execution environment variable set to a python list it would crash. Now it
will create a string joining the list with os.pathsep
- Move execution environment sanitation from Action._subproc() to
SCons.Util.sanitize_shell_env(ENV)
- Moved rpm and debian directories under packaging
- Added logic to help packagers enable reproducible builds into packaging/etc/. Please
read packaging/etc/README.txt if you are interested.
- Added --experimental=tm_v2, which enables Andrew Morrow's new NewParallel Job implementation.
This should scale much better for highly parallel builds. You can also enable this via SetOption().
- Fixed command line argument --diskcheck: previously a value of 'none' was ignored.
SetOption('diskcheck','none') is unaffected, as it did not have the problem.
- Added overrides argument to SCons.Subst.scons_subst(), subst_list(), subst(), and Action's process(),
strfunction(). This allows passing a dictionary of envvars to override when evaluating subst()'d strings/lists
- Fixed Issue #4275 - when outputting compilation db and TEMPFILE was in use, the compilation db would have
command lines using the generated tempfile for long command lines, instead of the full command line for
the compilation step for the source/target pair.
- Renamed the qt tools to qt3 since the logic in that tool is only for QT version 3. Renamed all env vars
which affect qt3 from QT_ to QT3_. If you are still using SCons to build QT 3 code, you'll need to update
your SConscripts. Note that using 'qt' tool has been deprecated for some time.
- Added JAVAPROCESSORPATH construction variable which populates -processorpath.
- Updated JavaScanner to scan JAVAPROCESSORPATH.
- Added FILE_ENCODING, to allow explicitly setting the text encoding for files
written by the Textfile() and Substfile() builders. If not specified, Textfile() and Substfile() builders
will write files as UTF-8. Fixed Issue #4302.
- Add newline to end of compilation db (compile_commands.json).
- Added error message to handle the case when SCons attempts to retrieve all the targets
for a specified builder from the CacheDir, fails to do so, and then runs into an error
when deleting the files which were retrieved. Previously if this happened there was no
errors or warnings.
- Fix issue #2757, where Configure checks that perform a check which reads a modified source
(including program, source or header file(s)) would incorrectly mark that file "up to date" so the
actual build would not see the file as modified. Leading to incorrect incremental builds.
Now configure checks now clear node info for non conftest nodes, so they will be re-evaluated for
the real taskmaster run when the build commences.
- Avoid returning UniqueList for `children` and other `Executor` APIs. This type
iterates more slowly than the builtin types. Also simplify uniquer_hashables to
use an faster implementation under the assumption of ordered dictionaries.
- Fixed runtest.py failure on Windows caused by excessive escaping of the path to python.exe.
- Run LaTeX after biber/bibtex only if necessary
- Added -fsanitize support to ParseFlags(). This will propagate to CCFLAGS and LINKFLAGS.
- A list argument as the source to the Copy() action function is now
correctly handled by converting elements to string. Copy errors out
if asked to copy a list to an existing non-directory destination.
Both the implementation and the strfunction which prints the progress
message were adjusted. Fixes #3009.
- doc: EnsureSConsVersion, EnsurePythonVersion, Exit, GetLaunchDir and
SConscriptChdir are now listed as Global functions only; the
Environment versions still work but are not documented.
- The Java scanner processing of JAVACLASSPATH for dependencies was
changed to split on os.pathsep instead of space, to match usage of
passing a path string like "xxx:yyy:zzz". This is not portable -
passing a POSIX-style path string (with ':') won't work on Windows
(';') - which is now documented with a hint to use a list instead
to be portable. Splitting on space broke paths with embedded spaces.
Fixes #4243.
- Cleanup: make sure BoolVariable usage in tests and examples uses Python
boolean values instead of 0/1.
- Stop telling people to run "python setup.py install" in the User Guide.
Adds new content on using virtualenvs to be able to have multiple
different SCons versions available on one system.
- Added the "DefaultEnvironment(tools=[])" stanza to a number of tests
that are known to be particularly slow. It's still just a tiny
speedup, but the Windows CI had been occasionally timing out,
so maybe this helps a bit.
- Remove an extra existence check in one ninja test that caused it
to be skipped on some otherwise-valid Windows installations.
- test framework tests now pass on Linux and Windows (the latter can
still run into problems on some configurations), and automated
tests are now run on changes in this area so future problems can
be spotted.
- The single-file Util module was split into a package with a few
functional areas getting their own files - Util.py had grown to
over 2100 lines.
- Add a zipapp package of scons-local: can use SCons from a local
file which does not need unpacking.
- Additional explanations for MSVSProject and MSVSSolution builders.
- Fix a problem (present in 4.4.0 only) where a Java inner class could
not be cached because the emitted filename contained a '$' and when
looked up through a node ended up generating a Python SyntaxError
because it was passed through scons_subst().
- Have the gfortran tool do a better job of honoring user preferences
for the dialect tools (F77, F90, F03 and F09, as well as the shared-library
equivalents SHF77, SHF90, SHF03, SHF09). Previously these were
unconditionally overwritten to 'gfortran'; the change should be more
in line with expectations of how these variables should work.
Also cleaned a few Fortran tests - test behavior does not change.
- Updated MSVC documentation - adds "version added" annotations on recently
added construction variables and provides a version-mapping table.
- Add Python 3.12 support, and indicate 3.11/3.12 support in package.
3.12 is in alpha for this SCons release, the bytecode sequences
embedded in SCons/ActionTests.py may need to change later, but
based on what is known now, 3.12 itself should work with this release.
- Add "append" keyword argument to Configure context's CheckLib and
CheckLibWithHeader to control whether to append or prepend (issue #2767)
Also added "unique" keyword, to control whether a library is added
or not if it is already in the $LIBS construction var in the
configure context. (issue #2768).
- Completely refactored the CPPDEFINES logic in Append/AppendUnique/Prepend/PrependUnique
This change fixes the following GH Issues:
- GH Issue #3876 - Append() and AppendUnique() will handle CPPDEFINES the same
- GH Issue #4254 - Make handling tuples in CPPDEFINES consistent.
- We no longer sort the keys added to CPPDEFINES by their dictionary keys.
We take advantage that their order is now stable based on insertion order
in Python 3.5+
- Added/modifed unit and system tests to verify these changes.
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Wang Mingyu [Wed, 15 Mar 2023 11:11:22 +0000 (19:11 +0800)]
python3-pytest: upgrade 7.2.1 -> 7.2.2
Bug Fixes
=========
#10533: Fixed pytest.approx() handling of dictionaries containing one or more values of 0.0.
#10592: Fixed crash if --cache-show and --help are passed at the same time.
#10597: Fixed bug where a fixture method named teardown would be called as part of nose teardown stage.
#10626: Fixed crash if --fixtures and --help are passed at the same time.
#10660: Fixed pytest.raises() to return a ‘ContextManager’ so that type-checkers could narrow pytest.raises(...) if ... else nullcontext() down to ‘ContextManager’ rather than ‘object’.
Improved Documentation
======================
#10690: Added CI and BUILD_NUMBER environment variables to the documentation.
#10721: Fixed entry-points declaration in the documentation example using Hatch.
#10753: Changed wording of the module level skip to be very explicit about not collecting tests and not executing the rest of the module.
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Wang Mingyu [Wed, 15 Mar 2023 11:11:20 +0000 (19:11 +0800)]
python3-setuptools: upgrade 67.4.0 -> 67.6.0
Changelog:
=========
#3804: Added caching for supported wheel tags.
#3846: Added pruning heuristics to PackageFinder based on exclude.
#3843: Although pkg_resources has been discouraged for use, some projects still
consider pkg_resources viable for usage. This change makes it clear that
pkg_resources should not be used, emitting a DeprecationWarning when imported.
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Wang Mingyu [Wed, 15 Mar 2023 11:11:19 +0000 (19:11 +0800)]
grep: upgrade 3.8 -> 3.9
Bug fixes
==========
With -P, some non-ASCII UTF8 characters were not recognized as
word-constituent due to our omission of the PCRE2_UCP flag. E.g.,
given f(){ echo Perú|LC_ALL=en_US.UTF-8 grep -Po "$1"; } and
this command, echo $(f 'r\w'):$(f '.\b'), before it would print ":r".
After the fix, it prints the correct results: "rú:ú".
When given multiple patterns the last of which has a back-reference,
grep no longer sometimes mistakenly matches lines in some cases.
[Bug#36148#13 introduced in grep 3.4]
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Martin Jansa [Mon, 13 Mar 2023 21:20:22 +0000 (21:20 +0000)]
tzcode-native: fix build with gcc-13 on host
* passing -std=c2x to avoid build failure with gcc-13 on host
works as well, but the resulting zic then segfaults when
used in tzdata, use a fix from upstream instead
* reported upstream in https://mm.icann.org/pipermail/tz/2023-March/032690.html
Martin Jansa [Mon, 13 Mar 2023 12:15:28 +0000 (13:15 +0100)]
git-submodule-test: disable upstream version check
* this is one of the failures from distrodata.Distrodata.test_checkpkg:
2023-03-11 14:26:21,482 - oe-selftest - INFO - ======================================================================
2023-03-11 14:26:21,482 - oe-selftest - INFO - FAIL: test_checkpkg (distrodata.Distrodata.test_checkpkg)
2023-03-11 14:26:21,482 - oe-selftest - INFO - ----------------------------------------------------------------------
2023-03-11 14:26:21,482 - oe-selftest - INFO - Traceback (most recent call last):
File "/OE/build/poky/meta/lib/oeqa/selftest/cases/distrodata.py", line 40, in test_checkpkg
self.assertTrue(len(regressed_failures) == 0 and len(regressed_successes) == 0, msg)
AssertionError: False is not true :
The following packages failed upstream version checks. Please fix them using UPSTREAM_CHECK_URI/UPSTREAM_CHECK_REGEX
(when using tarballs) or UPSTREAM_CHECK_GITTAGREGEX (when using git). If an upstream version check cannot be performed
(for example, if upstream does not use git tags), you can set UPSTREAM_VERSION_UNKNOWN to '1' in the recipe to acknowledge
that the check cannot be performed.
git-submodule-test
binutils
Stdout:
Loading cache...done.
Loaded 0 entries from dependency cache.
Parsing recipes...done.
Parsing of 947 .bb files complete (0 cached, 947 parsed). 1764 targets, 46 skipped, 0 masked, 0 errors.
----------------------------------------------------------------------
2023-03-11 14:26:21,482 - oe-selftest - INFO - Ran 1 test in 193.764s
2023-03-11 14:26:21,482 - oe-selftest - INFO - FAILED
2023-03-11 14:26:21,483 - oe-selftest - INFO - (failures=1)
2023-03-11 14:26:26,258 - oe-selftest - INFO - RESULTS:
martin@jama /OE/build/poky/build $ devtool check-upgrade-status git-submodule-test
NOTE: Could not list remote: Fetcher failure for URL: 'gitsm://git.yoctoproject.org/git-submodule-test;branch=master'.
The command git -c gc.autoDetach=false -c core.pager=cat ls-remote git://git.yoctoproject.org/git-submodule-test refs/tags/* gave empty output unexpectedly
INFO: git-submodule-test 1.0 UNKNOWN_BROKEN None
* the binutils failure is strange, when I've added some debug output
to see why it's listed the issue disappeared, maybe some temporary
network glitch or something
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ross Burton [Mon, 13 Mar 2023 16:48:09 +0000 (16:48 +0000)]
vim: set modified-by to the recipe MAINTAINER
Clause II.3 of the Vim license states that any distribution of Vim that
has been extended or modified must _at least_ indicate in the :version
output that this is the case.
Handily, Vim has a --with-modified-by argument to add a line in that
text, so use MAINTAINER. This is the distribution maintainer contact,
by default it is OE-Core Developers
<openembedded-core@lists.openembedded.org>.
Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Martin Jansa [Mon, 13 Mar 2023 19:37:59 +0000 (20:37 +0100)]
file: add few more PACKAGECONFIGs to avoid autodetected deps from host
* there are few more autodetected compression libs
--disable-zlib disable zlib compression support [default=auto]
--disable-bzlib disable bz2lib compression support [default=auto]
--disable-xzlib disable liblzma/xz compression support
--disable-zstdlib disable zstdlib compression support [default=auto]
--disable-lzlib disable liblz (lzip) compression support
and lzlib was detected on my gentoo (even when it doesn't say that default
is auto detection)
I've noticed this, because I've reused sstate-cache from my gentoo build
in docker container with ubuntu-23.04 and esdk.oeSDKExtSelfTest.test_install_libraries_headers
test was now failing with:
Exception: subprocess.CalledProcessError: Command '/OE/build/poky/build/build-st-2023-03-12-esdk-patch1/esdk.oeSDKExtSelfTest.test_install_libraries_headers/build-st/tmp/work/x86_64-nativesdk-pokysdk-linux/buildtools-tarball/1.0-r0/recipe-sysroot-native/usr/bin/createrepo_c --update -q /OE/build/poky/build/build-st-2023-03-12-esdk-patch1/esdk.oeSDKExtSelfTest.test_install_libraries_headers/build-st/tmp/work/x86_64-nativesdk-pokysdk-linux/buildtools-tarball/1.0-r0/oe-sdk-repo' returned non-zero exit status 127.
Subprocess output:
/OE/build/poky/build/build-st-2023-03-12-esdk-patch1/esdk.oeSDKExtSelfTest.test_install_libraries_headers/build-st/tmp/work/x86_64-nativesdk-pokysdk-linux/buildtools-tarball/1.0-r0/recipe-sysroot-native/usr/bin/createrepo_c: error while loading shared libraries: liblz.so.1: cannot open shared object file: No such file or directory
and liblz.so.1 ended in createrepo_c.real because of libmagic.so from file-native-replacement.
* use PACKAGECONFIG for seccomp as well and keep it disabled as it was
explicitly disabled before (${@bb.utils.filter('DISTRO_FEATURES', 'seccomp', d)}
can be added to default PACKAGECONFIG later if someone finds it useful)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Peter Marko [Sun, 12 Mar 2023 08:45:43 +0000 (09:45 +0100)]
go: use go as CVE product for all golang recipe veriants
All golang vulnerabilities are reported under product 'go'.
By default there is no vulnerability reported for images with
golang components because none of used golang packages
have correct CVE product set:
* go-binary-native
* go-runtime
* go-cross-*
Signed-off-by: Peter Marko <peter.marko@siemens.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Clément Péron [Fri, 10 Mar 2023 18:54:22 +0000 (19:54 +0100)]
qemu: split out qemu-guest-agent, add startup scripts
Split out the QEMU guest agent into a separate package. The agent is
intended to be installed within a QEMU VM guest where a user is likely
to not want to have the rest of the QEMU installation within it.
Additionally, an initscript, udev rules file, and systemd unit file are
added to the package so that the guest agent can start automatically;
the former two come from Debian's packaging for qemu-guest-agent.
Signed-off-by: Brenda Streiff <brenda.streiff@ni.com> Signed-off-by: Clément Péron <peron.clem@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Romuald Jeanne [Fri, 10 Mar 2023 10:36:21 +0000 (11:36 +0100)]
image_types: fix multiubi var init
Make sure to expand all MKUBIFS_ARGS_<label> and UBINIZE_ARGS_<label> vars
in 'do_image_multiubi' task to use them to init the local 'mkubifs_args'
and 'ubinize_args' vars.
Khem Raj [Fri, 10 Mar 2023 10:07:03 +0000 (02:07 -0800)]
systemd.bbclass: Add /usr/lib/systemd to searchpaths as well
Some packages like lirc places its unit files into $systemd_user_unitdir
and also uses them in SYSTEMD_SERVICE list in recipe. This fails in
do_package
ERROR: Didn't find service unit 'lircmd.service', specified in SYSTEMD_SERVICE:lirc.
here lircmd.service is installed in /usr/lib/systemd/system/lircmd.service
Khem Raj [Sun, 12 Mar 2023 07:24:22 +0000 (23:24 -0800)]
systemd: Fix musl fix patch
Current patch with fail when stdint.h is in include path before this
typedef which can also happen with re-includes. Therefore shunt that
by defining __DEFINED_wchar_t which helps musl builds of systemd-boot
recipe
Signed-off-by: Khem Raj <raj.khem@gmail.com> Cc: Alexander Kanavin <alex.kanavin@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Thu, 9 Mar 2023 22:00:08 +0000 (22:00 +0000)]
core-image-ptest: Switch to BBCLASSEXTEND parallel execution
Replace the two images where tests are run serially with an image
per ptest in the form core-image-ptest-XXX using class extensions.
The original two images are then replaced with dependencies on these
images. This allows parallel execution of the tests.
The downside to this approach is the parsing time of an image generating
this number of class extensions is slow but making it easier to execute
and collect test data should outweigh that.
A useful advantage is that the dependencies of each ptest package are
checked/tested indvidually.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We should drop this for some of the reasons in those threads,
it doesn't seem to be doing anything too helpful and isn't what most
applications expect.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Sun, 12 Mar 2023 11:35:24 +0000 (11:35 +0000)]
oeqa/selftest/sstate: Split classes to allow more parallelism
By splitting the single class into multiple classes, it allows more parallelism
in the execution. These tests don't have interdependencies that benefit
from sstate reuse or anything like that so this makes sense to improve overall
test execution time if/where possible.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Mon, 13 Mar 2023 11:44:09 +0000 (11:44 +0000)]
selftest/recipetool: Stop test corrupting tinfoil class
Running recipetool.RecipetoolTests.test_recipetool_handle_license_vars
followed by wic.Wic2.test_biosplusefi_plugin_qemu would show a failure of:
File "/media/build/poky/meta/lib/oeqa/utils/commands.py", line 351, in runqemu
qemu = oeqa.targetcontrol.QemuTarget(recipedata, targetlogger, image_fstype)
File "/media/build/poky/meta/lib/oeqa/targetcontrol.py", line 116, in __init__
use_kvm = oe.types.qemu_use_kvm(d.getVar('QEMU_USE_KVM'), d.getVar('TARGET_ARCH'))
File "/media/build/poky/meta/lib/oe/types.py", line 182, in qemu_use_kvm
if kvm and boolean(kvm):
File "/media/build/poky/meta/lib/oe/types.py", line 128, in boolean
raise ValueError("Invalid boolean value '%s'" % value)
ValueError: Invalid boolean value '/media/build/poky/meta/files/common-licenses'
which made no sense until you realise the recipetool test is corrupting
the tinfoil class. Work on a copy instead to avoid this.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Fri, 10 Mar 2023 18:15:09 +0000 (18:15 +0000)]
busybox: Fix ptest dependencies
Ironically, busybox ptests don't all work without coreutils being present. This
dependency fixes execution in minimal images but the failing start-stop-daemon
test case should probably be investigated in due course and the dependency
removed when possible.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Fri, 10 Mar 2023 18:14:48 +0000 (18:14 +0000)]
lttng-tools: Improve ptest debugging and fix dependencies
Improve the ptest runner script:
* log output is available should any test fail to aid debugging
* document how to limit the runner to a single test
* stop hiding errors to stderr
* allow easier single test execution by avoiding path issues with PWD
Also depend upon binutils since one of the tests uses addr2line.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Fri, 10 Mar 2023 18:11:51 +0000 (18:11 +0000)]
bc: Fix ptest test output naming
The quoting in the script was mangled leading to "0" tests being
found by our log parsing code. Fix the quoting to allow the correct
test counts to appear.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Richard Purdie [Fri, 10 Mar 2023 12:40:54 +0000 (12:40 +0000)]
acl/attr: ptest fixes and improvements
Add a missing perl module dependency for the ptest packages and also
improve the run-ptest script so that the error log is saved allowing
easier debugging if this fails in future.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Alexis Lothoré [Thu, 9 Mar 2023 15:53:01 +0000 (16:53 +0100)]
scripts/yocto_testresults_query.py: set proper branches when using resulttool
The script currently only works if base and target can be found on default
branches. It breaks if we try to generate a regression report between revisions
that live on different branches (as needed on integration and testing branches).
For example, the following command:
Alexis Lothoré [Tue, 28 Feb 2023 18:10:52 +0000 (19:10 +0100)]
scripts/resulttool: do not count newly passing tests as regressions
resulttool regression module simply compare a base test status to a target test
result status. This approach raises many false positives since all XXX -> PASS
transitions (XXX being any status different from PASS) are flagged as
regression.
- Do not list XXX -> PASS transitions in regression report, instead count them
and print a summary of "newly passing tests"
- If an inspected pair has only "newly passing tests", do not print detailed
list and print it as "Improvement" instead of "Regression"
Alexis Lothoré [Tue, 28 Feb 2023 18:10:50 +0000 (19:10 +0100)]
scripts/resulttool: fix ptests results containing a non reproducible path
Some ptests results may be wrongly sampled, resulting in some part of the error
being propagated in test name. For example:
"ptestresult.binutils-ld.in testcase /home/pokybuild/yocto-worker/qemumips/build/build-st-1666126/tmp/work/mips32r2-poky-linux/binutils-cross-testsuite/2.40-r0/git/ld/testsuite/ld-ctf/ctf.exp"
"ptestresult.gcc.Couldn't create remote directory /tmp/runtest.455781 on ssh"
"ptestresult.gcc-libstdc++-v3.Couldn't create remote directory /tmp/runtest.3814266 on target"
While the root errors must be fixed in corresponding ptests packages for those
tests, the test results history must still be usable even with this issue
Add new filters to detect if temporary test directories (build-st-*,
/tmp/runtime.*) are present in name. If so, truncate test name. As a side
effect, it will aggregate multiple failing errors into one, but the regression
will still be raised
Signed-off-by: Alexis Lothoré <alexis.lothore@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Alexis Lothoré [Tue, 28 Feb 2023 18:10:48 +0000 (19:10 +0100)]
oeqa/selftest/resulttool: fix fake data used for testing
resulttool searches for "status" field, not "STATUS", in results.
This fix is more to avoid confusion than fixing anything, since the updated
tests are about regression.can_be_compared, which does not check for "status"
Signed-off-by: Alexis Lothoré <alexis.lothore@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
There are multiple issues with the tests for the ptest fixup mechanism
introduced in c45d58f003e8d8b323169ca9d479dc49c43a9974:
- the feature does not impact regression.can_be_compared but directly the
comparison step in regression.regression_common
- the "status" field was wrong ("STATUS"), which prevents tests comparison
- there is a typo babeltrace2 ptest result name
Signed-off-by: Alexis Lothoré <alexis.lothore@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Wang Mingyu [Fri, 10 Mar 2023 07:08:15 +0000 (15:08 +0800)]
dhcpcd: Fix install conflict when enable multilib.
Error: Transaction test error:
file /usr/share/man/man8/dhcpcd.8 conflicts between attempted installs of dhcpcd-doc-9.4.1-r0.cortexa57 and lib32-dhcpcd-doc-9.4.1-r0.armv7ahf_neon
The differences between the two files are as follows:
@@ -821,7 +821,7 @@
If you always use the same options, put them here.
.It Pa /usr/libexec/dhcpcd-run-hooks
Bourne shell script that is run to configure or de-configure an interface.
-.It Pa /usr/lib64/dhcpcd/dev
+.It Pa /usr/lib/dhcpcd/dev
Linux
.Pa /dev
management modules.
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Bruce Ashfield [Fri, 10 Mar 2023 04:12:37 +0000 (23:12 -0500)]
perf: fix buildpaths QA warning
In the 6.2+ kernel, arm64 perf has a buildpaths QA warning as
a syscall table is now being dynamically generated. That generated
table includes unistd.h by absolute path, which in turn triggers
the buildpaths QA warning.
This could easily be patched in linux-yocto, but that would
leave the QA issue in perf built from other kernel trees.
So we instead to the following:
- Add the perf tools directory to the include path
- Modify the Makefile to have a relative path to unistd.h and
pass both the relative and absolute path to the generation
script
- Modify the generation script to take the relative location
of unistd.h as a new parameter, and use that in the generated
sycalls.c file
At build, the added include path of the perf source allows the
relative path file to be included, and no buildpaths warning is
generated.
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>