Unable to build WebRTC on Android with latest m140

12 views
Skip to first unread message

Laky 64

unread,
5:42 AM (13 hours ago) 5:42 AM
to discuss-webrtc

Starting from M140, I began seeing these undefined references inside WebRTC .a Android files:
libwebrtc.a:strerror.o:           U __gnu_strerror_r
libwebrtc.a:system_error.o:       U __gnu_strerror_

These symbols were not present in M139.
This is now breaking Android builds (in my case, x86_64):

This is now breaking Android builds (in my case, x86_64):

ld.lld: error: undefined symbol: __gnu_strerror_r >>> referenced by strerror.cc:41 (.../absl/base/internal/strerror.cc:41) >>> strerror.o:(absl::base_internal::StrError(int)) >>> referenced by system_error.cpp:199 (.../libc++/src/system_error.cpp:199) >>> system_error.o:(std::__Cr::__do_message::message(int) const)

It looks like starting from M140, either Abseil or libc++ is pulling in the GNU-specific strerror_r variant, which Android’s libc doesn’t provide (or not for every architecture), causing the linker to fail.

Has anyone encountered this issue or knows if it’s related to a recent change in Abseil, libc++, or the Android toolchain inside WebRTC?


Reply all
Reply to author
Forward
0 new messages