Undefined ExpectationToString after updating from m100 to m115

447 views
Skip to first unread message

Tzu Huan Tai

unread,
Jul 5, 2023, 12:01:57 AM7/5/23
to discuss-webrtc
The code where I implement `AdaptedVideoTrackSource` undefined reference to `webrtc::webrtc_sequence_checker_internal::SequenceCheckerImpl::ExpectationToString[abi:cxx11]() const' after updating from m100 to m115.

I tried to use `nm` to figure out what the problem is and did not find `ExpectationToString`!!
nm --demangle /usr/local/lib/libwebrtc.a | grep -i webrtc::webrtc_sequence_checker_internal
0000000000000000 T webrtc::webrtc_sequence_checker_internal::SequenceCheckerImpl::Detach()
0000000000000000 T webrtc::webrtc_sequence_checker_internal::SequenceCheckerImpl::SequenceCheckerImpl(bool)
0000000000000000 T webrtc::webrtc_sequence_checker_internal::SequenceCheckerImpl::SequenceCheckerImpl(bool)
0000000000000000 T webrtc::webrtc_sequence_checker_internal::SequenceCheckerImpl::IsCurrent() const


Then I searched the comments and found this comment removed the `ExpectionToString()`.
I only implement my customized `AdaptedVideoTrackSource`, why `ExpectationToString` is being triggered?? And how can I fix it?

Build args:
target_os = "linux"
target_cpu = "arm64"
rtc_include_tests = false
rtc_use_h264 = false
use_rtti = true
is_component_build = false
is_debug = false
rtc_build_examples = false
use_custom_libcxx = false
rtc_build_tools = false
rtc_use_pipewire = false
clang_base_path = "/home/pi/clang+llvm-16.0.6-aarch64-linux-gnu"
clang_use_chrome_plugins = false

Error output while compiling:
/usr/bin/ld: src/track/libtrack.a(v4l2_track_source.cpp.o): in function `_ZN6webrtc32webrtc_sequence_checker_internal19ExpectationToStringINS_15SequenceCheckerEEENSt9enable_ifIXsr3stdE12is_base_of_vINS0_19SequenceCheckerImplET_EENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE4typeEPKS5_':
v4l2_track_source.cpp:(.text._ZN6webrtc32webrtc_sequence_checker_internal19ExpectationToStringINS_15SequenceCheckerEEENSt9enable_ifIXsr3stdE12is_base_of_vINS0_19SequenceCheckerImplET_EENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE4typeEPKS5_[_ZN6webrtc32webrtc_sequence_checker_internal19ExpectationToStringINS_15SequenceCheckerEEENSt9enable_ifIXsr3stdE12is_base_of_vINS0_19SequenceCheckerImplET_EENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEE4typeEPKS5_]+0x18): undefined reference to `webrtc::webrtc_sequence_checker_internal::SequenceCheckerImpl::ExpectationToString[abi:cxx11]() const'

Điền Võ Bá

unread,
Nov 1, 2023, 1:51:43 AM11/1/23
to discuss-webrtc
You are building with is_debug = false so this error will appear.
Please check in file "rtc_base/synchronization/sequence_checker_internal.h" and ".cc", ExpectationToString function is defined in here and it is protected by macro "RTC_DCHECK_IS_ON"
When you build with "is_debug = false" then => RTC_DCHECK_IS_ON is false.
You can try adding "dcheck_always_on = true" and see if the error persists, if the error is still not resolved build with "is_debug = true"

Vào lúc 11:01:57 UTC+7 ngày Thứ Tư, 5 tháng 7, 2023, Tzu Huan Tai đã viết:

施海参

unread,
Nov 23, 2024, 5:35:13 AM11/23/24
to discuss-webrtc
  Add the macro definition -DNDEBUG.  

Eugene Foley

unread,
Jan 28, 2025, 6:42:30 AM1/28/25
to discuss-webrtc
Exactly which line of the code related to AdaptedVideoTrackSource  requires:


webrtc::webrtc_sequence_checker_internal::SequenceCheckerImpl::ExpectationToString[abi:cxx11]() const' 

???

Thank you in advanced!   

VAT Calculator

unread,
Mar 17, 2025, 8:29:49 AM3/17/25
to discuss-webrtc

If you're facing an Undefined ExpectationToString error after updating from m100 to m115, it may be due to deprecated methods. Ensure all dependencies are updated and check the release notes for changes. If Magis TV or other apps rely on outdated libraries, update them as well. As a temporary fix, consider rolling back to m100 while troubleshooting.

Reply all
Reply to author
Forward
0 new messages