16.99.1: build fails with enabled `webrtc-audio-processing-1` support
In build env is installed webrtc-audio-processing 1.3 and build fails with
[tkloczko@pers-jacek x86_64-redhat-linux-gnu]$ ninja
[4/176] Compiling C++ object src/modules/echo-cancel/libwebrtc-util.so.p/webrtc.cc.o
FAILED: src/modules/echo-cancel/libwebrtc-util.so.p/webrtc.cc.o
/usr/bin/g++ -Isrc/modules/echo-cancel/libwebrtc-util.so.p -Isrc/modules/echo-cancel -I../src/modules/echo-cancel -I. -I.. -Isrc -I../src -I/usr/include/webrtc-audio-processing-1 -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=c++11 -O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -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 ../src/modules/echo-cancel/webrtc.cc
In file included from /usr/include/absl/base/config.h:86,
from /usr/include/absl/types/optional.h:38,
from /usr/include/webrtc-audio-processing-1/modules/audio_processing/include/audio_processing.h:26,
from ../src/modules/echo-cancel/webrtc.cc:39:
/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 /usr/include/absl/types/optional.h:39:
/usr/include/absl/utility/utility.h:164:12: error: ‘in_place_t’ has not been declared in ‘std’
164 | using std::in_place_t;
| ^~~~~~~~~~
/usr/include/absl/utility/utility.h:165:12: error: ‘in_place’ has not been declared in ‘std’
165 | using std::in_place;
| ^~~~~~~~
/usr/include/absl/utility/utility.h:181:12: error: ‘in_place_type’ has not been declared in ‘std’
181 | using std::in_place_type;
| ^~~~~~~~~~~~~
/usr/include/absl/utility/utility.h:182:12: error: ‘in_place_type_t’ has not been declared in ‘std’
182 | using std::in_place_type_t;
| ^~~~~~~~~~~~~~~
/usr/include/absl/utility/utility.h:198:12: error: ‘in_place_index’ has not been declared in ‘std’
198 | using std::in_place_index;
| ^~~~~~~~~~~~~~
/usr/include/absl/utility/utility.h:199:12: error: ‘in_place_index_t’ has not been declared in ‘std’
199 | using std::in_place_index_t;
| ^~~~~~~~~~~~~~~~
/usr/include/absl/types/optional.h:47:12: error: ‘bad_optional_access’ has not been declared in ‘std’
47 | using std::bad_optional_access;
| ^~~~~~~~~~~~~~~~~~~
/usr/include/absl/types/optional.h:48:12: error: ‘optional’ has not been declared in ‘std’
48 | using std::optional;
| ^~~~~~~~
/usr/include/absl/types/optional.h:49:12: error: ‘make_optional’ has not been declared in ‘std’
49 | using std::make_optional;
| ^~~~~~~~~~~~~
/usr/include/absl/types/optional.h:50:12: error: ‘nullopt_t’ has not been declared in ‘std’
50 | using std::nullopt_t;
| ^~~~~~~~~
/usr/include/absl/types/optional.h:51:12: error: ‘nullopt’ has not been declared in ‘std’
51 | using std::nullopt;
| ^~~~~~~
In file included from /usr/include/webrtc-audio-processing-1/rtc_base/checks.h:58,
from /usr/include/webrtc-audio-processing-1/api/array_view.h:18,
from /usr/include/webrtc-audio-processing-1/modules/audio_processing/include/audio_processing.h:27:
/usr/include/absl/strings/string_view.h:52:26: error: ‘string_view’ in namespace ‘std’ does not name a type
52 | using string_view = std::string_view;
| ^~~~~~~~~~~
/usr/include/absl/strings/string_view.h:52:21: note: ‘std::string_view’ is only available from C++17 onwards
52 | using string_view = std::string_view;
| ^~~
/usr/include/absl/strings/string_view.h:686:8: error: ‘string_view’ does not name a type
686 | inline string_view ClippedSubstr(string_view s, size_t pos,
| ^~~~~~~~~~~
/usr/include/absl/strings/string_view.h:697:11: error: ‘string_view’ does not name a type
697 | constexpr string_view NullSafeStringView(const char* p) {
| ^~~~~~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:186:45: error: ISO C++ forbids declaration of ‘type name’ with no type [-fpermissive]
186 | inline Val<CheckArgType::kStringView, const absl::string_view*> MakeVal(
| ^~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:186:63: error: template argument 2 is invalid
186 | inline Val<CheckArgType::kStringView, const absl::string_view*> MakeVal(
| ^
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:187:17: error: ‘string_view’ in namespace ‘absl’ does not name a type
187 | const absl::string_view& x) {
| ^~~~~~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h: In function ‘int rtc::webrtc_checks_impl::MakeVal(const int&)’:
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:188:13: error: invalid conversion from ‘const int*’ to ‘int’ [-fpermissive]
188 | return {&x};
| ^
| |
| const int*
/usr/include/webrtc-audio-processing-1/api/array_view.h: In constructor ‘rtc::ArrayView<T, Size>::ArrayView(std::nullptr_t, size_t)’:
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:381:56: error: no match for ‘operator<<’ (operand types are ‘rtc::webrtc_checks_impl::LogStreamer<>’ and ‘int’)
381 | ::rtc::webrtc_checks_impl::LogStreamer<>() << (val1) << (val2)
| ~~~~~~~~~~~~~~~ ^~ ~~~~~~
| |
| rtc::webrtc_checks_impl::LogStreamer<>
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:402:34: note: in expansion of macro ‘RTC_CHECK_OP’
402 | #define RTC_CHECK_EQ(val1, val2) RTC_CHECK_OP(Eq, ==, val1, val2)
| ^~~~~~~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:414:31: note: in expansion of macro ‘RTC_CHECK_EQ’
414 | #define RTC_DCHECK_EQ(v1, v2) RTC_CHECK_EQ(v1, v2)
| ^~~~~~~~~~~~
/usr/include/webrtc-audio-processing-1/api/array_view.h:170:5: note: in expansion of macro ‘RTC_DCHECK_EQ’
170 | RTC_DCHECK_EQ(0, size);
| ^~~~~~~~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:221:35: note: candidate: ‘template<class U, class V, absl::lts_20230802::enable_if_t<(std::is_arithmetic<_Tp>::value || std::is_enum<_Tp>::value)>* <anonymous> > rtc::webrtc_checks_impl::LogStreamer<V> rtc::webrtc_checks_impl::LogStreamer<>::operator<<(U) const’
221 | RTC_FORCE_INLINE LogStreamer<V> operator<<(U arg) const {
| ^~~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:221:35: note: template argument deduction/substitution failed:
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:218:42: error: call of overloaded ‘MakeVal(int)’ is ambiguous
218 | typename V = decltype(MakeVal(std::declval<U>())),
| ~~~~~~~^~~~~~~~~~~~~~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:152:37: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kInt, int> rtc::webrtc_checks_impl::MakeVal(int)’
152 | inline Val<CheckArgType::kInt, int> MakeVal(int x) {
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:155:39: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kLong, long int> rtc::webrtc_checks_impl::MakeVal(long int)’
155 | inline Val<CheckArgType::kLong, long> MakeVal(long x) {
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:158:48: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kLongLong, long long int> rtc::webrtc_checks_impl::MakeVal(long long int)’
158 | inline Val<CheckArgType::kLongLong, long long> MakeVal(long long x) {
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:161:47: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kUInt, unsigned int> rtc::webrtc_checks_impl::MakeVal(unsigned int)’
161 | inline Val<CheckArgType::kUInt, unsigned int> MakeVal(unsigned int x) {
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:164:49: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kULong, long unsigned int> rtc::webrtc_checks_impl::MakeVal(long unsigned int)’
164 | inline Val<CheckArgType::kULong, unsigned long> MakeVal(unsigned long x) {
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:167:58: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kULongLong, long long unsigned int> rtc::webrtc_checks_impl::MakeVal(long long unsigned int)’
167 | inline Val<CheckArgType::kULongLong, unsigned long long> MakeVal(
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:172:43: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kDouble, double> rtc::webrtc_checks_impl::MakeVal(double)’
172 | inline Val<CheckArgType::kDouble, double> MakeVal(double x) {
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:175:52: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kLongDouble, long double> rtc::webrtc_checks_impl::MakeVal(long double)’
175 | inline Val<CheckArgType::kLongDouble, long double> MakeVal(long double x) {
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:186:65: note: candidate: ‘int rtc::webrtc_checks_impl::MakeVal(const int&)’
186 | inline Val<CheckArgType::kStringView, const absl::string_view*> MakeVal(
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:229:35: note: candidate: ‘template<class U, class V, absl::lts_20230802::enable_if_t<((! std::is_arithmetic<_Tp>::value) && (! std::is_enum<_Tp>::value))>* <anonymous> > rtc::webrtc_checks_impl::LogStreamer<V> rtc::webrtc_checks_impl::LogStreamer<>::operator<<(const U&) const’
229 | RTC_FORCE_INLINE LogStreamer<V> operator<<(const U& arg) const {
| ^~~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:229:35: note: template argument deduction/substitution failed:
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:226:42: error: call of overloaded ‘MakeVal(int)’ is ambiguous
226 | typename V = decltype(MakeVal(std::declval<U>())),
| ~~~~~~~^~~~~~~~~~~~~~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:152:37: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kInt, int> rtc::webrtc_checks_impl::MakeVal(int)’
152 | inline Val<CheckArgType::kInt, int> MakeVal(int x) {
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:155:39: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kLong, long int> rtc::webrtc_checks_impl::MakeVal(long int)’
155 | inline Val<CheckArgType::kLong, long> MakeVal(long x) {
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:158:48: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kLongLong, long long int> rtc::webrtc_checks_impl::MakeVal(long long int)’
158 | inline Val<CheckArgType::kLongLong, long long> MakeVal(long long x) {
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:161:47: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kUInt, unsigned int> rtc::webrtc_checks_impl::MakeVal(unsigned int)’
161 | inline Val<CheckArgType::kUInt, unsigned int> MakeVal(unsigned int x) {
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:164:49: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kULong, long unsigned int> rtc::webrtc_checks_impl::MakeVal(long unsigned int)’
164 | inline Val<CheckArgType::kULong, unsigned long> MakeVal(unsigned long x) {
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:167:58: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kULongLong, long long unsigned int> rtc::webrtc_checks_impl::MakeVal(long long unsigned int)’
167 | inline Val<CheckArgType::kULongLong, unsigned long long> MakeVal(
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:172:43: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kDouble, double> rtc::webrtc_checks_impl::MakeVal(double)’
172 | inline Val<CheckArgType::kDouble, double> MakeVal(double x) {
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:175:52: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kLongDouble, long double> rtc::webrtc_checks_impl::MakeVal(long double)’
175 | inline Val<CheckArgType::kLongDouble, long double> MakeVal(long double x) {
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:186:65: note: candidate: ‘int rtc::webrtc_checks_impl::MakeVal(const int&)’
186 | inline Val<CheckArgType::kStringView, const absl::string_view*> MakeVal(
| ^~~~~~~
In file included from /usr/include/webrtc-audio-processing-1/modules/audio_processing/include/audio_processing.h:31:
/usr/include/webrtc-audio-processing-1/modules/audio_processing/include/audio_processing_statistics.h: At global scope:
/usr/include/webrtc-audio-processing-1/modules/audio_processing/include/audio_processing_statistics.h:33:9: error: ‘optional’ in namespace ‘absl’ does not name a template type
33 | absl::optional<int> output_rms_dbfs;
| ^~~~~~~~
/usr/include/webrtc-audio-processing-1/modules/audio_processing/include/audio_processing_statistics.h:39:9: error: ‘optional’ in namespace ‘absl’ does not name a template type
39 | absl::optional<bool> voice_detected;
| ^~~~~~~~
/usr/include/webrtc-audio-processing-1/modules/audio_processing/include/audio_processing_statistics.h:43:9: error: ‘optional’ in namespace ‘absl’ does not name a template type
43 | absl::optional<double> echo_return_loss;
| ^~~~~~~~
/usr/include/webrtc-audio-processing-1/modules/audio_processing/include/audio_processing_statistics.h:45:9: error: ‘optional’ in namespace ‘absl’ does not name a template type
45 | absl::optional<double> echo_return_loss_enhancement;
| ^~~~~~~~
/usr/include/webrtc-audio-processing-1/modules/audio_processing/include/audio_processing_statistics.h:48:9: error: ‘optional’ in namespace ‘absl’ does not name a template type
48 | absl::optional<double> divergent_filter_fraction;
| ^~~~~~~~
/usr/include/webrtc-audio-processing-1/modules/audio_processing/include/audio_processing_statistics.h:57:9: error: ‘optional’ in namespace ‘absl’ does not name a template type
57 | absl::optional<int32_t> delay_median_ms;
| ^~~~~~~~
/usr/include/webrtc-audio-processing-1/modules/audio_processing/include/audio_processing_statistics.h:58:9: error: ‘optional’ in namespace ‘absl’ does not name a template type
58 | absl::optional<int32_t> delay_standard_deviation_ms;
| ^~~~~~~~
/usr/include/webrtc-audio-processing-1/modules/audio_processing/include/audio_processing_statistics.h:61:9: error: ‘optional’ in namespace ‘absl’ does not name a template type
61 | absl::optional<double> residual_echo_likelihood;
| ^~~~~~~~
/usr/include/webrtc-audio-processing-1/modules/audio_processing/include/audio_processing_statistics.h:63:9: error: ‘optional’ in namespace ‘absl’ does not name a template type
63 | absl::optional<double> residual_echo_likelihood_recent_max;
| ^~~~~~~~
/usr/include/webrtc-audio-processing-1/modules/audio_processing/include/audio_processing_statistics.h:68:9: error: ‘optional’ in namespace ‘absl’ does not name a template type
68 | absl::optional<int32_t> delay_ms;
| ^~~~~~~~
/usr/include/webrtc-audio-processing-1/modules/audio_processing/include/audio_processing.h: In static member function ‘static webrtc::AudioProcessing::RuntimeSetting webrtc::AudioProcessing::RuntimeSetting::CreateCompressionGainDb(int)’:
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:381:56: error: no match for ‘operator<<’ (operand types are ‘rtc::webrtc_checks_impl::LogStreamer<>’ and ‘int’)
381 | ::rtc::webrtc_checks_impl::LogStreamer<>() << (val1) << (val2)
| ~~~~~~~~~~~~~~~ ^~ ~~~~~~
| |
| rtc::webrtc_checks_impl::LogStreamer<>
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:406:34: note: in expansion of macro ‘RTC_CHECK_OP’
406 | #define RTC_CHECK_GE(val1, val2) RTC_CHECK_OP(Ge, >=, val1, val2)
| ^~~~~~~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:418:31: note: in expansion of macro ‘RTC_CHECK_GE’
418 | #define RTC_DCHECK_GE(v1, v2) RTC_CHECK_GE(v1, v2)
| ^~~~~~~~~~~~
/usr/include/webrtc-audio-processing-1/modules/audio_processing/include/audio_processing.h:416:7: note: in expansion of macro ‘RTC_DCHECK_GE’
416 | RTC_DCHECK_GE(gain_db, 0);
| ^~~~~~~~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:221:35: note: candidate: ‘template<class U, class V, absl::lts_20230802::enable_if_t<(std::is_arithmetic<_Tp>::value || std::is_enum<_Tp>::value)>* <anonymous> > rtc::webrtc_checks_impl::LogStreamer<V> rtc::webrtc_checks_impl::LogStreamer<>::operator<<(U) const’
221 | RTC_FORCE_INLINE LogStreamer<V> operator<<(U arg) const {
| ^~~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:221:35: note: template argument deduction/substitution failed:
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:218:42: error: call of overloaded ‘MakeVal(int)’ is ambiguous
218 | typename V = decltype(MakeVal(std::declval<U>())),
| ~~~~~~~^~~~~~~~~~~~~~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:152:37: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kInt, int> rtc::webrtc_checks_impl::MakeVal(int)’
152 | inline Val<CheckArgType::kInt, int> MakeVal(int x) {
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:155:39: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kLong, long int> rtc::webrtc_checks_impl::MakeVal(long int)’
155 | inline Val<CheckArgType::kLong, long> MakeVal(long x) {
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:158:48: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kLongLong, long long int> rtc::webrtc_checks_impl::MakeVal(long long int)’
158 | inline Val<CheckArgType::kLongLong, long long> MakeVal(long long x) {
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:161:47: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kUInt, unsigned int> rtc::webrtc_checks_impl::MakeVal(unsigned int)’
161 | inline Val<CheckArgType::kUInt, unsigned int> MakeVal(unsigned int x) {
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:164:49: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kULong, long unsigned int> rtc::webrtc_checks_impl::MakeVal(long unsigned int)’
164 | inline Val<CheckArgType::kULong, unsigned long> MakeVal(unsigned long x) {
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:167:58: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kULongLong, long long unsigned int> rtc::webrtc_checks_impl::MakeVal(long long unsigned int)’
167 | inline Val<CheckArgType::kULongLong, unsigned long long> MakeVal(
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:172:43: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kDouble, double> rtc::webrtc_checks_impl::MakeVal(double)’
172 | inline Val<CheckArgType::kDouble, double> MakeVal(double x) {
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:175:52: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kLongDouble, long double> rtc::webrtc_checks_impl::MakeVal(long double)’
175 | inline Val<CheckArgType::kLongDouble, long double> MakeVal(long double x) {
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:186:65: note: candidate: ‘int rtc::webrtc_checks_impl::MakeVal(const int&)’
186 | inline Val<CheckArgType::kStringView, const absl::string_view*> MakeVal(
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:229:35: note: candidate: ‘template<class U, class V, absl::lts_20230802::enable_if_t<((! std::is_arithmetic<_Tp>::value) && (! std::is_enum<_Tp>::value))>* <anonymous> > rtc::webrtc_checks_impl::LogStreamer<V> rtc::webrtc_checks_impl::LogStreamer<>::operator<<(const U&) const’
229 | RTC_FORCE_INLINE LogStreamer<V> operator<<(const U& arg) const {
| ^~~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:229:35: note: template argument deduction/substitution failed:
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:226:42: error: call of overloaded ‘MakeVal(int)’ is ambiguous
226 | typename V = decltype(MakeVal(std::declval<U>())),
| ~~~~~~~^~~~~~~~~~~~~~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:152:37: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kInt, int> rtc::webrtc_checks_impl::MakeVal(int)’
152 | inline Val<CheckArgType::kInt, int> MakeVal(int x) {
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:155:39: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kLong, long int> rtc::webrtc_checks_impl::MakeVal(long int)’
155 | inline Val<CheckArgType::kLong, long> MakeVal(long x) {
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:158:48: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kLongLong, long long int> rtc::webrtc_checks_impl::MakeVal(long long int)’
158 | inline Val<CheckArgType::kLongLong, long long> MakeVal(long long x) {
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:161:47: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kUInt, unsigned int> rtc::webrtc_checks_impl::MakeVal(unsigned int)’
161 | inline Val<CheckArgType::kUInt, unsigned int> MakeVal(unsigned int x) {
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:164:49: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kULong, long unsigned int> rtc::webrtc_checks_impl::MakeVal(long unsigned int)’
164 | inline Val<CheckArgType::kULong, unsigned long> MakeVal(unsigned long x) {
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:167:58: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kULongLong, long long unsigned int> rtc::webrtc_checks_impl::MakeVal(long long unsigned int)’
167 | inline Val<CheckArgType::kULongLong, unsigned long long> MakeVal(
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:172:43: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kDouble, double> rtc::webrtc_checks_impl::MakeVal(double)’
172 | inline Val<CheckArgType::kDouble, double> MakeVal(double x) {
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:175:52: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kLongDouble, long double> rtc::webrtc_checks_impl::MakeVal(long double)’
175 | inline Val<CheckArgType::kLongDouble, long double> MakeVal(long double x) {
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:186:65: note: candidate: ‘int rtc::webrtc_checks_impl::MakeVal(const int&)’
186 | inline Val<CheckArgType::kStringView, const absl::string_view*> MakeVal(
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:381:56: error: no match for ‘operator<<’ (operand types are ‘rtc::webrtc_checks_impl::LogStreamer<>’ and ‘int’)
381 | ::rtc::webrtc_checks_impl::LogStreamer<>() << (val1) << (val2)
| ~~~~~~~~~~~~~~~ ^~ ~~~~~~
| |
| rtc::webrtc_checks_impl::LogStreamer<>
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:404:34: note: in expansion of macro ‘RTC_CHECK_OP’
404 | #define RTC_CHECK_LE(val1, val2) RTC_CHECK_OP(Le, <=, val1, val2)
| ^~~~~~~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:416:31: note: in expansion of macro ‘RTC_CHECK_LE’
416 | #define RTC_DCHECK_LE(v1, v2) RTC_CHECK_LE(v1, v2)
| ^~~~~~~~~~~~
/usr/include/webrtc-audio-processing-1/modules/audio_processing/include/audio_processing.h:417:7: note: in expansion of macro ‘RTC_DCHECK_LE’
417 | RTC_DCHECK_LE(gain_db, 90);
| ^~~~~~~~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:221:35: note: candidate: ‘template<class U, class V, absl::lts_20230802::enable_if_t<(std::is_arithmetic<_Tp>::value || std::is_enum<_Tp>::value)>* <anonymous> > rtc::webrtc_checks_impl::LogStreamer<V> rtc::webrtc_checks_impl::LogStreamer<>::operator<<(U) const’
221 | RTC_FORCE_INLINE LogStreamer<V> operator<<(U arg) const {
| ^~~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:221:35: note: template argument deduction/substitution failed:
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:218:42: error: call of overloaded ‘MakeVal(int)’ is ambiguous
218 | typename V = decltype(MakeVal(std::declval<U>())),
| ~~~~~~~^~~~~~~~~~~~~~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:152:37: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kInt, int> rtc::webrtc_checks_impl::MakeVal(int)’
152 | inline Val<CheckArgType::kInt, int> MakeVal(int x) {
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:155:39: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kLong, long int> rtc::webrtc_checks_impl::MakeVal(long int)’
155 | inline Val<CheckArgType::kLong, long> MakeVal(long x) {
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:158:48: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kLongLong, long long int> rtc::webrtc_checks_impl::MakeVal(long long int)’
158 | inline Val<CheckArgType::kLongLong, long long> MakeVal(long long x) {
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:161:47: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kUInt, unsigned int> rtc::webrtc_checks_impl::MakeVal(unsigned int)’
161 | inline Val<CheckArgType::kUInt, unsigned int> MakeVal(unsigned int x) {
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:164:49: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kULong, long unsigned int> rtc::webrtc_checks_impl::MakeVal(long unsigned int)’
164 | inline Val<CheckArgType::kULong, unsigned long> MakeVal(unsigned long x) {
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:167:58: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kULongLong, long long unsigned int> rtc::webrtc_checks_impl::MakeVal(long long unsigned int)’
167 | inline Val<CheckArgType::kULongLong, unsigned long long> MakeVal(
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:172:43: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kDouble, double> rtc::webrtc_checks_impl::MakeVal(double)’
172 | inline Val<CheckArgType::kDouble, double> MakeVal(double x) {
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:175:52: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kLongDouble, long double> rtc::webrtc_checks_impl::MakeVal(long double)’
175 | inline Val<CheckArgType::kLongDouble, long double> MakeVal(long double x) {
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:186:65: note: candidate: ‘int rtc::webrtc_checks_impl::MakeVal(const int&)’
186 | inline Val<CheckArgType::kStringView, const absl::string_view*> MakeVal(
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:229:35: note: candidate: ‘template<class U, class V, absl::lts_20230802::enable_if_t<((! std::is_arithmetic<_Tp>::value) && (! std::is_enum<_Tp>::value))>* <anonymous> > rtc::webrtc_checks_impl::LogStreamer<V> rtc::webrtc_checks_impl::LogStreamer<>::operator<<(const U&) const’
229 | RTC_FORCE_INLINE LogStreamer<V> operator<<(const U& arg) const {
| ^~~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:229:35: note: template argument deduction/substitution failed:
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:226:42: error: call of overloaded ‘MakeVal(int)’ is ambiguous
226 | typename V = decltype(MakeVal(std::declval<U>())),
| ~~~~~~~^~~~~~~~~~~~~~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:152:37: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kInt, int> rtc::webrtc_checks_impl::MakeVal(int)’
152 | inline Val<CheckArgType::kInt, int> MakeVal(int x) {
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:155:39: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kLong, long int> rtc::webrtc_checks_impl::MakeVal(long int)’
155 | inline Val<CheckArgType::kLong, long> MakeVal(long x) {
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:158:48: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kLongLong, long long int> rtc::webrtc_checks_impl::MakeVal(long long int)’
158 | inline Val<CheckArgType::kLongLong, long long> MakeVal(long long x) {
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:161:47: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kUInt, unsigned int> rtc::webrtc_checks_impl::MakeVal(unsigned int)’
161 | inline Val<CheckArgType::kUInt, unsigned int> MakeVal(unsigned int x) {
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:164:49: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kULong, long unsigned int> rtc::webrtc_checks_impl::MakeVal(long unsigned int)’
164 | inline Val<CheckArgType::kULong, unsigned long> MakeVal(unsigned long x) {
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:167:58: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kULongLong, long long unsigned int> rtc::webrtc_checks_impl::MakeVal(long long unsigned int)’
167 | inline Val<CheckArgType::kULongLong, unsigned long long> MakeVal(
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:172:43: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kDouble, double> rtc::webrtc_checks_impl::MakeVal(double)’
172 | inline Val<CheckArgType::kDouble, double> MakeVal(double x) {
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:175:52: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kLongDouble, long double> rtc::webrtc_checks_impl::MakeVal(long double)’
175 | inline Val<CheckArgType::kLongDouble, long double> MakeVal(long double x) {
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:186:65: note: candidate: ‘int rtc::webrtc_checks_impl::MakeVal(const int&)’
186 | inline Val<CheckArgType::kStringView, const absl::string_view*> MakeVal(
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/modules/audio_processing/include/audio_processing.h: At global scope:
/usr/include/webrtc-audio-processing-1/modules/audio_processing/include/audio_processing.h:914:11: error: ‘optional’ in namespace ‘absl’ does not name a template type
914 | absl::optional<double> echo_likelihood;
| ^~~~~~~~
/usr/include/webrtc-audio-processing-1/modules/audio_processing/include/audio_processing.h:915:11: error: ‘optional’ in namespace ‘absl’ does not name a template type
915 | absl::optional<double> echo_likelihood_recent_max;
| ^~~~~~~~
[6/176] Linking target src/pulsecore/libpulsecore-16.99.so
ninja: build stopped: subcommand failed.
After add -std=c++14
to CXXFLASGS
[tkloczko@pers-jacek x86_64-redhat-linux-gnu]$ ninja
[1/176] Compiling C++ object src/modules/echo-cancel/libwebrtc-util.so.p/webrtc.cc.o
FAILED: src/modules/echo-cancel/libwebrtc-util.so.p/webrtc.cc.o
/usr/bin/g++ -Isrc/modules/echo-cancel/libwebrtc-util.so.p -Isrc/modules/echo-cancel -I../src/modules/echo-cancel -I. -I.. -Isrc -I../src -I/usr/include/webrtc-audio-processing-1 -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=c++11 -O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fdata-sections -ffunction-sections -flto=auto -flto-partition=none -std=c++14 -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 ../src/modules/echo-cancel/webrtc.cc
In file included from /usr/include/absl/types/optional.h:39,
from /usr/include/webrtc-audio-processing-1/modules/audio_processing/include/audio_processing.h:26,
from ../src/modules/echo-cancel/webrtc.cc:39:
/usr/include/absl/utility/utility.h:164:12: error: ‘in_place_t’ has not been declared in ‘std’
164 | using std::in_place_t;
| ^~~~~~~~~~
/usr/include/absl/utility/utility.h:165:12: error: ‘in_place’ has not been declared in ‘std’
165 | using std::in_place;
| ^~~~~~~~
/usr/include/absl/utility/utility.h:181:12: error: ‘in_place_type’ has not been declared in ‘std’
181 | using std::in_place_type;
| ^~~~~~~~~~~~~
/usr/include/absl/utility/utility.h:182:12: error: ‘in_place_type_t’ has not been declared in ‘std’
182 | using std::in_place_type_t;
| ^~~~~~~~~~~~~~~
/usr/include/absl/utility/utility.h:198:12: error: ‘in_place_index’ has not been declared in ‘std’
198 | using std::in_place_index;
| ^~~~~~~~~~~~~~
/usr/include/absl/utility/utility.h:199:12: error: ‘in_place_index_t’ has not been declared in ‘std’
199 | using std::in_place_index_t;
| ^~~~~~~~~~~~~~~~
/usr/include/absl/types/optional.h:47:12: error: ‘bad_optional_access’ has not been declared in ‘std’
47 | using std::bad_optional_access;
| ^~~~~~~~~~~~~~~~~~~
/usr/include/absl/types/optional.h:48:12: error: ‘optional’ has not been declared in ‘std’
48 | using std::optional;
| ^~~~~~~~
/usr/include/absl/types/optional.h:49:12: error: ‘make_optional’ has not been declared in ‘std’
49 | using std::make_optional;
| ^~~~~~~~~~~~~
/usr/include/absl/types/optional.h:50:12: error: ‘nullopt_t’ has not been declared in ‘std’
50 | using std::nullopt_t;
| ^~~~~~~~~
/usr/include/absl/types/optional.h:51:12: error: ‘nullopt’ has not been declared in ‘std’
51 | using std::nullopt;
| ^~~~~~~
In file included from /usr/include/webrtc-audio-processing-1/rtc_base/checks.h:58,
from /usr/include/webrtc-audio-processing-1/api/array_view.h:18,
from /usr/include/webrtc-audio-processing-1/modules/audio_processing/include/audio_processing.h:27:
/usr/include/absl/strings/string_view.h:52:26: error: ‘string_view’ in namespace ‘std’ does not name a type
52 | using string_view = std::string_view;
| ^~~~~~~~~~~
/usr/include/absl/strings/string_view.h:52:21: note: ‘std::string_view’ is only available from C++17 onwards
52 | using string_view = std::string_view;
| ^~~
/usr/include/absl/strings/string_view.h:686:8: error: ‘string_view’ does not name a type
686 | inline string_view ClippedSubstr(string_view s, size_t pos,
| ^~~~~~~~~~~
/usr/include/absl/strings/string_view.h:697:11: error: ‘string_view’ does not name a type
697 | constexpr string_view NullSafeStringView(const char* p) {
| ^~~~~~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:186:45: error: ISO C++ forbids declaration of ‘type name’ with no type [-fpermissive]
186 | inline Val<CheckArgType::kStringView, const absl::string_view*> MakeVal(
| ^~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:186:63: error: template argument 2 is invalid
186 | inline Val<CheckArgType::kStringView, const absl::string_view*> MakeVal(
| ^
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:187:17: error: ‘string_view’ in namespace ‘absl’ does not name a type
187 | const absl::string_view& x) {
| ^~~~~~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h: In function ‘int rtc::webrtc_checks_impl::MakeVal(const int&)’:
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:188:13: error: invalid conversion from ‘const int*’ to ‘int’ [-fpermissive]
188 | return {&x};
| ^
| |
| const int*
/usr/include/webrtc-audio-processing-1/api/array_view.h: In constructor ‘rtc::ArrayView<T, Size>::ArrayView(std::nullptr_t, size_t)’:
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:381:56: error: no match for ‘operator<<’ (operand types are ‘rtc::webrtc_checks_impl::LogStreamer<>’ and ‘int’)
381 | ::rtc::webrtc_checks_impl::LogStreamer<>() << (val1) << (val2)
| ~~~~~~~~~~~~~~~ ^~ ~~~~~~
| |
| rtc::webrtc_checks_impl::LogStreamer<>
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:402:34: note: in expansion of macro ‘RTC_CHECK_OP’
402 | #define RTC_CHECK_EQ(val1, val2) RTC_CHECK_OP(Eq, ==, val1, val2)
| ^~~~~~~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:414:31: note: in expansion of macro ‘RTC_CHECK_EQ’
414 | #define RTC_DCHECK_EQ(v1, v2) RTC_CHECK_EQ(v1, v2)
| ^~~~~~~~~~~~
/usr/include/webrtc-audio-processing-1/api/array_view.h:170:5: note: in expansion of macro ‘RTC_DCHECK_EQ’
170 | RTC_DCHECK_EQ(0, size);
| ^~~~~~~~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:221:35: note: candidate: ‘template<class U, class V, absl::lts_20230802::enable_if_t<(std::is_arithmetic<_Tp>::value || std::is_enum<_Tp>::value)>* <anonymous> > rtc::webrtc_checks_impl::LogStreamer<V> rtc::webrtc_checks_impl::LogStreamer<>::operator<<(U) const’
221 | RTC_FORCE_INLINE LogStreamer<V> operator<<(U arg) const {
| ^~~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:221:35: note: template argument deduction/substitution failed:
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:218:42: error: call of overloaded ‘MakeVal(int)’ is ambiguous
218 | typename V = decltype(MakeVal(std::declval<U>())),
| ~~~~~~~^~~~~~~~~~~~~~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:152:37: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kInt, int> rtc::webrtc_checks_impl::MakeVal(int)’
152 | inline Val<CheckArgType::kInt, int> MakeVal(int x) {
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:155:39: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kLong, long int> rtc::webrtc_checks_impl::MakeVal(long int)’
155 | inline Val<CheckArgType::kLong, long> MakeVal(long x) {
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:158:48: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kLongLong, long long int> rtc::webrtc_checks_impl::MakeVal(long long int)’
158 | inline Val<CheckArgType::kLongLong, long long> MakeVal(long long x) {
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:161:47: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kUInt, unsigned int> rtc::webrtc_checks_impl::MakeVal(unsigned int)’
161 | inline Val<CheckArgType::kUInt, unsigned int> MakeVal(unsigned int x) {
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:164:49: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kULong, long unsigned int> rtc::webrtc_checks_impl::MakeVal(long unsigned int)’
164 | inline Val<CheckArgType::kULong, unsigned long> MakeVal(unsigned long x) {
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:167:58: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kULongLong, long long unsigned int> rtc::webrtc_checks_impl::MakeVal(long long unsigned int)’
167 | inline Val<CheckArgType::kULongLong, unsigned long long> MakeVal(
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:172:43: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kDouble, double> rtc::webrtc_checks_impl::MakeVal(double)’
172 | inline Val<CheckArgType::kDouble, double> MakeVal(double x) {
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:175:52: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kLongDouble, long double> rtc::webrtc_checks_impl::MakeVal(long double)’
175 | inline Val<CheckArgType::kLongDouble, long double> MakeVal(long double x) {
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:186:65: note: candidate: ‘int rtc::webrtc_checks_impl::MakeVal(const int&)’
186 | inline Val<CheckArgType::kStringView, const absl::string_view*> MakeVal(
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:229:35: note: candidate: ‘template<class U, class V, absl::lts_20230802::enable_if_t<((! std::is_arithmetic<_Tp>::value) && (! std::is_enum<_Tp>::value))>* <anonymous> > rtc::webrtc_checks_impl::LogStreamer<V> rtc::webrtc_checks_impl::LogStreamer<>::operator<<(const U&) const’
229 | RTC_FORCE_INLINE LogStreamer<V> operator<<(const U& arg) const {
| ^~~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:229:35: note: template argument deduction/substitution failed:
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:226:42: error: call of overloaded ‘MakeVal(int)’ is ambiguous
226 | typename V = decltype(MakeVal(std::declval<U>())),
| ~~~~~~~^~~~~~~~~~~~~~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:152:37: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kInt, int> rtc::webrtc_checks_impl::MakeVal(int)’
152 | inline Val<CheckArgType::kInt, int> MakeVal(int x) {
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:155:39: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kLong, long int> rtc::webrtc_checks_impl::MakeVal(long int)’
155 | inline Val<CheckArgType::kLong, long> MakeVal(long x) {
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:158:48: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kLongLong, long long int> rtc::webrtc_checks_impl::MakeVal(long long int)’
158 | inline Val<CheckArgType::kLongLong, long long> MakeVal(long long x) {
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:161:47: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kUInt, unsigned int> rtc::webrtc_checks_impl::MakeVal(unsigned int)’
161 | inline Val<CheckArgType::kUInt, unsigned int> MakeVal(unsigned int x) {
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:164:49: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kULong, long unsigned int> rtc::webrtc_checks_impl::MakeVal(long unsigned int)’
164 | inline Val<CheckArgType::kULong, unsigned long> MakeVal(unsigned long x) {
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:167:58: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kULongLong, long long unsigned int> rtc::webrtc_checks_impl::MakeVal(long long unsigned int)’
167 | inline Val<CheckArgType::kULongLong, unsigned long long> MakeVal(
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:172:43: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kDouble, double> rtc::webrtc_checks_impl::MakeVal(double)’
172 | inline Val<CheckArgType::kDouble, double> MakeVal(double x) {
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:175:52: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kLongDouble, long double> rtc::webrtc_checks_impl::MakeVal(long double)’
175 | inline Val<CheckArgType::kLongDouble, long double> MakeVal(long double x) {
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:186:65: note: candidate: ‘int rtc::webrtc_checks_impl::MakeVal(const int&)’
186 | inline Val<CheckArgType::kStringView, const absl::string_view*> MakeVal(
| ^~~~~~~
In file included from /usr/include/webrtc-audio-processing-1/modules/audio_processing/include/audio_processing.h:31:
/usr/include/webrtc-audio-processing-1/modules/audio_processing/include/audio_processing_statistics.h: At global scope:
/usr/include/webrtc-audio-processing-1/modules/audio_processing/include/audio_processing_statistics.h:33:9: error: ‘optional’ in namespace ‘absl’ does not name a template type
33 | absl::optional<int> output_rms_dbfs;
| ^~~~~~~~
/usr/include/webrtc-audio-processing-1/modules/audio_processing/include/audio_processing_statistics.h:39:9: error: ‘optional’ in namespace ‘absl’ does not name a template type
39 | absl::optional<bool> voice_detected;
| ^~~~~~~~
/usr/include/webrtc-audio-processing-1/modules/audio_processing/include/audio_processing_statistics.h:43:9: error: ‘optional’ in namespace ‘absl’ does not name a template type
43 | absl::optional<double> echo_return_loss;
| ^~~~~~~~
/usr/include/webrtc-audio-processing-1/modules/audio_processing/include/audio_processing_statistics.h:45:9: error: ‘optional’ in namespace ‘absl’ does not name a template type
45 | absl::optional<double> echo_return_loss_enhancement;
| ^~~~~~~~
/usr/include/webrtc-audio-processing-1/modules/audio_processing/include/audio_processing_statistics.h:48:9: error: ‘optional’ in namespace ‘absl’ does not name a template type
48 | absl::optional<double> divergent_filter_fraction;
| ^~~~~~~~
/usr/include/webrtc-audio-processing-1/modules/audio_processing/include/audio_processing_statistics.h:57:9: error: ‘optional’ in namespace ‘absl’ does not name a template type
57 | absl::optional<int32_t> delay_median_ms;
| ^~~~~~~~
/usr/include/webrtc-audio-processing-1/modules/audio_processing/include/audio_processing_statistics.h:58:9: error: ‘optional’ in namespace ‘absl’ does not name a template type
58 | absl::optional<int32_t> delay_standard_deviation_ms;
| ^~~~~~~~
/usr/include/webrtc-audio-processing-1/modules/audio_processing/include/audio_processing_statistics.h:61:9: error: ‘optional’ in namespace ‘absl’ does not name a template type
61 | absl::optional<double> residual_echo_likelihood;
| ^~~~~~~~
/usr/include/webrtc-audio-processing-1/modules/audio_processing/include/audio_processing_statistics.h:63:9: error: ‘optional’ in namespace ‘absl’ does not name a template type
63 | absl::optional<double> residual_echo_likelihood_recent_max;
| ^~~~~~~~
/usr/include/webrtc-audio-processing-1/modules/audio_processing/include/audio_processing_statistics.h:68:9: error: ‘optional’ in namespace ‘absl’ does not name a template type
68 | absl::optional<int32_t> delay_ms;
| ^~~~~~~~
/usr/include/webrtc-audio-processing-1/modules/audio_processing/include/audio_processing.h: In static member function ‘static webrtc::AudioProcessing::RuntimeSetting webrtc::AudioProcessing::RuntimeSetting::CreateCompressionGainDb(int)’:
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:381:56: error: no match for ‘operator<<’ (operand types are ‘rtc::webrtc_checks_impl::LogStreamer<>’ and ‘int’)
381 | ::rtc::webrtc_checks_impl::LogStreamer<>() << (val1) << (val2)
| ~~~~~~~~~~~~~~~ ^~ ~~~~~~
| |
| rtc::webrtc_checks_impl::LogStreamer<>
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:406:34: note: in expansion of macro ‘RTC_CHECK_OP’
406 | #define RTC_CHECK_GE(val1, val2) RTC_CHECK_OP(Ge, >=, val1, val2)
| ^~~~~~~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:418:31: note: in expansion of macro ‘RTC_CHECK_GE’
418 | #define RTC_DCHECK_GE(v1, v2) RTC_CHECK_GE(v1, v2)
| ^~~~~~~~~~~~
/usr/include/webrtc-audio-processing-1/modules/audio_processing/include/audio_processing.h:416:7: note: in expansion of macro ‘RTC_DCHECK_GE’
416 | RTC_DCHECK_GE(gain_db, 0);
| ^~~~~~~~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:221:35: note: candidate: ‘template<class U, class V, absl::lts_20230802::enable_if_t<(std::is_arithmetic<_Tp>::value || std::is_enum<_Tp>::value)>* <anonymous> > rtc::webrtc_checks_impl::LogStreamer<V> rtc::webrtc_checks_impl::LogStreamer<>::operator<<(U) const’
221 | RTC_FORCE_INLINE LogStreamer<V> operator<<(U arg) const {
| ^~~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:221:35: note: template argument deduction/substitution failed:
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:218:42: error: call of overloaded ‘MakeVal(int)’ is ambiguous
218 | typename V = decltype(MakeVal(std::declval<U>())),
| ~~~~~~~^~~~~~~~~~~~~~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:152:37: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kInt, int> rtc::webrtc_checks_impl::MakeVal(int)’
152 | inline Val<CheckArgType::kInt, int> MakeVal(int x) {
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:155:39: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kLong, long int> rtc::webrtc_checks_impl::MakeVal(long int)’
155 | inline Val<CheckArgType::kLong, long> MakeVal(long x) {
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:158:48: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kLongLong, long long int> rtc::webrtc_checks_impl::MakeVal(long long int)’
158 | inline Val<CheckArgType::kLongLong, long long> MakeVal(long long x) {
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:161:47: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kUInt, unsigned int> rtc::webrtc_checks_impl::MakeVal(unsigned int)’
161 | inline Val<CheckArgType::kUInt, unsigned int> MakeVal(unsigned int x) {
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:164:49: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kULong, long unsigned int> rtc::webrtc_checks_impl::MakeVal(long unsigned int)’
164 | inline Val<CheckArgType::kULong, unsigned long> MakeVal(unsigned long x) {
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:167:58: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kULongLong, long long unsigned int> rtc::webrtc_checks_impl::MakeVal(long long unsigned int)’
167 | inline Val<CheckArgType::kULongLong, unsigned long long> MakeVal(
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:172:43: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kDouble, double> rtc::webrtc_checks_impl::MakeVal(double)’
172 | inline Val<CheckArgType::kDouble, double> MakeVal(double x) {
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:175:52: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kLongDouble, long double> rtc::webrtc_checks_impl::MakeVal(long double)’
175 | inline Val<CheckArgType::kLongDouble, long double> MakeVal(long double x) {
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:186:65: note: candidate: ‘int rtc::webrtc_checks_impl::MakeVal(const int&)’
186 | inline Val<CheckArgType::kStringView, const absl::string_view*> MakeVal(
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:229:35: note: candidate: ‘template<class U, class V, absl::lts_20230802::enable_if_t<((! std::is_arithmetic<_Tp>::value) && (! std::is_enum<_Tp>::value))>* <anonymous> > rtc::webrtc_checks_impl::LogStreamer<V> rtc::webrtc_checks_impl::LogStreamer<>::operator<<(const U&) const’
229 | RTC_FORCE_INLINE LogStreamer<V> operator<<(const U& arg) const {
| ^~~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:229:35: note: template argument deduction/substitution failed:
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:226:42: error: call of overloaded ‘MakeVal(int)’ is ambiguous
226 | typename V = decltype(MakeVal(std::declval<U>())),
| ~~~~~~~^~~~~~~~~~~~~~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:152:37: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kInt, int> rtc::webrtc_checks_impl::MakeVal(int)’
152 | inline Val<CheckArgType::kInt, int> MakeVal(int x) {
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:155:39: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kLong, long int> rtc::webrtc_checks_impl::MakeVal(long int)’
155 | inline Val<CheckArgType::kLong, long> MakeVal(long x) {
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:158:48: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kLongLong, long long int> rtc::webrtc_checks_impl::MakeVal(long long int)’
158 | inline Val<CheckArgType::kLongLong, long long> MakeVal(long long x) {
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:161:47: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kUInt, unsigned int> rtc::webrtc_checks_impl::MakeVal(unsigned int)’
161 | inline Val<CheckArgType::kUInt, unsigned int> MakeVal(unsigned int x) {
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:164:49: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kULong, long unsigned int> rtc::webrtc_checks_impl::MakeVal(long unsigned int)’
164 | inline Val<CheckArgType::kULong, unsigned long> MakeVal(unsigned long x) {
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:167:58: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kULongLong, long long unsigned int> rtc::webrtc_checks_impl::MakeVal(long long unsigned int)’
167 | inline Val<CheckArgType::kULongLong, unsigned long long> MakeVal(
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:172:43: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kDouble, double> rtc::webrtc_checks_impl::MakeVal(double)’
172 | inline Val<CheckArgType::kDouble, double> MakeVal(double x) {
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:175:52: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kLongDouble, long double> rtc::webrtc_checks_impl::MakeVal(long double)’
175 | inline Val<CheckArgType::kLongDouble, long double> MakeVal(long double x) {
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:186:65: note: candidate: ‘int rtc::webrtc_checks_impl::MakeVal(const int&)’
186 | inline Val<CheckArgType::kStringView, const absl::string_view*> MakeVal(
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:381:56: error: no match for ‘operator<<’ (operand types are ‘rtc::webrtc_checks_impl::LogStreamer<>’ and ‘int’)
381 | ::rtc::webrtc_checks_impl::LogStreamer<>() << (val1) << (val2)
| ~~~~~~~~~~~~~~~ ^~ ~~~~~~
| |
| rtc::webrtc_checks_impl::LogStreamer<>
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:404:34: note: in expansion of macro ‘RTC_CHECK_OP’
404 | #define RTC_CHECK_LE(val1, val2) RTC_CHECK_OP(Le, <=, val1, val2)
| ^~~~~~~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:416:31: note: in expansion of macro ‘RTC_CHECK_LE’
416 | #define RTC_DCHECK_LE(v1, v2) RTC_CHECK_LE(v1, v2)
| ^~~~~~~~~~~~
/usr/include/webrtc-audio-processing-1/modules/audio_processing/include/audio_processing.h:417:7: note: in expansion of macro ‘RTC_DCHECK_LE’
417 | RTC_DCHECK_LE(gain_db, 90);
| ^~~~~~~~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:221:35: note: candidate: ‘template<class U, class V, absl::lts_20230802::enable_if_t<(std::is_arithmetic<_Tp>::value || std::is_enum<_Tp>::value)>* <anonymous> > rtc::webrtc_checks_impl::LogStreamer<V> rtc::webrtc_checks_impl::LogStreamer<>::operator<<(U) const’
221 | RTC_FORCE_INLINE LogStreamer<V> operator<<(U arg) const {
| ^~~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:221:35: note: template argument deduction/substitution failed:
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:218:42: error: call of overloaded ‘MakeVal(int)’ is ambiguous
218 | typename V = decltype(MakeVal(std::declval<U>())),
| ~~~~~~~^~~~~~~~~~~~~~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:152:37: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kInt, int> rtc::webrtc_checks_impl::MakeVal(int)’
152 | inline Val<CheckArgType::kInt, int> MakeVal(int x) {
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:155:39: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kLong, long int> rtc::webrtc_checks_impl::MakeVal(long int)’
155 | inline Val<CheckArgType::kLong, long> MakeVal(long x) {
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:158:48: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kLongLong, long long int> rtc::webrtc_checks_impl::MakeVal(long long int)’
158 | inline Val<CheckArgType::kLongLong, long long> MakeVal(long long x) {
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:161:47: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kUInt, unsigned int> rtc::webrtc_checks_impl::MakeVal(unsigned int)’
161 | inline Val<CheckArgType::kUInt, unsigned int> MakeVal(unsigned int x) {
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:164:49: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kULong, long unsigned int> rtc::webrtc_checks_impl::MakeVal(long unsigned int)’
164 | inline Val<CheckArgType::kULong, unsigned long> MakeVal(unsigned long x) {
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:167:58: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kULongLong, long long unsigned int> rtc::webrtc_checks_impl::MakeVal(long long unsigned int)’
167 | inline Val<CheckArgType::kULongLong, unsigned long long> MakeVal(
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:172:43: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kDouble, double> rtc::webrtc_checks_impl::MakeVal(double)’
172 | inline Val<CheckArgType::kDouble, double> MakeVal(double x) {
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:175:52: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kLongDouble, long double> rtc::webrtc_checks_impl::MakeVal(long double)’
175 | inline Val<CheckArgType::kLongDouble, long double> MakeVal(long double x) {
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:186:65: note: candidate: ‘int rtc::webrtc_checks_impl::MakeVal(const int&)’
186 | inline Val<CheckArgType::kStringView, const absl::string_view*> MakeVal(
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:229:35: note: candidate: ‘template<class U, class V, absl::lts_20230802::enable_if_t<((! std::is_arithmetic<_Tp>::value) && (! std::is_enum<_Tp>::value))>* <anonymous> > rtc::webrtc_checks_impl::LogStreamer<V> rtc::webrtc_checks_impl::LogStreamer<>::operator<<(const U&) const’
229 | RTC_FORCE_INLINE LogStreamer<V> operator<<(const U& arg) const {
| ^~~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:229:35: note: template argument deduction/substitution failed:
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:226:42: error: call of overloaded ‘MakeVal(int)’ is ambiguous
226 | typename V = decltype(MakeVal(std::declval<U>())),
| ~~~~~~~^~~~~~~~~~~~~~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:152:37: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kInt, int> rtc::webrtc_checks_impl::MakeVal(int)’
152 | inline Val<CheckArgType::kInt, int> MakeVal(int x) {
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:155:39: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kLong, long int> rtc::webrtc_checks_impl::MakeVal(long int)’
155 | inline Val<CheckArgType::kLong, long> MakeVal(long x) {
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:158:48: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kLongLong, long long int> rtc::webrtc_checks_impl::MakeVal(long long int)’
158 | inline Val<CheckArgType::kLongLong, long long> MakeVal(long long x) {
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:161:47: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kUInt, unsigned int> rtc::webrtc_checks_impl::MakeVal(unsigned int)’
161 | inline Val<CheckArgType::kUInt, unsigned int> MakeVal(unsigned int x) {
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:164:49: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kULong, long unsigned int> rtc::webrtc_checks_impl::MakeVal(long unsigned int)’
164 | inline Val<CheckArgType::kULong, unsigned long> MakeVal(unsigned long x) {
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:167:58: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kULongLong, long long unsigned int> rtc::webrtc_checks_impl::MakeVal(long long unsigned int)’
167 | inline Val<CheckArgType::kULongLong, unsigned long long> MakeVal(
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:172:43: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kDouble, double> rtc::webrtc_checks_impl::MakeVal(double)’
172 | inline Val<CheckArgType::kDouble, double> MakeVal(double x) {
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:175:52: note: candidate: ‘rtc::webrtc_checks_impl::Val<rtc::webrtc_checks_impl::CheckArgType::kLongDouble, long double> rtc::webrtc_checks_impl::MakeVal(long double)’
175 | inline Val<CheckArgType::kLongDouble, long double> MakeVal(long double x) {
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/rtc_base/checks.h:186:65: note: candidate: ‘int rtc::webrtc_checks_impl::MakeVal(const int&)’
186 | inline Val<CheckArgType::kStringView, const absl::string_view*> MakeVal(
| ^~~~~~~
/usr/include/webrtc-audio-processing-1/modules/audio_processing/include/audio_processing.h: At global scope:
/usr/include/webrtc-audio-processing-1/modules/audio_processing/include/audio_processing.h:914:11: error: ‘optional’ in namespace ‘absl’ does not name a template type
914 | absl::optional<double> echo_likelihood;
| ^~~~~~~~
/usr/include/webrtc-audio-processing-1/modules/audio_processing/include/audio_processing.h:915:11: error: ‘optional’ in namespace ‘absl’ does not name a template type
915 | absl::optional<double> echo_likelihood_recent_max;
| ^~~~~~~~
[2/176] Linking target src/libpulsecommon-16.99.so
ninja: build stopped: subcommand failed.
Edited by Tomasz Kłoczko