Search code examples
ccmakeandroid-ndkwebrtcbaresip

'absl/meta/type_traits.h' file not found


I am currently trying to build the baresip library in order to use it into an Android application. For that, I use the project libbaresip-android and I follow the instructions of the README file.

I am trying to setup a pipeline running on Ubuntu 20.04. From the README file, the steps 1, 2 and 3 seems to work, but my pipeline failed on the step 4 when the script tries to compile webrtc.

The error:

make[2]: Entering directory '/home/vsts/work/1/s/webrtc'
[armeabi-v7a] Compile++ thumb: webrtc <= aecm_core.cc
In file included from jni/src/webrtc/modules/audio_processing/aecm/aecm_core.cc:24:
jni/src/webrtc/rtc_base/checks.h:57:10: fatal error: 'absl/meta/type_traits.h' file not found
#include "absl/meta/type_traits.h"
^~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
make[2]: *** [/usr/local/lib/android/sdk/ndk/21.4.7075529/build/core/build-binary.mk:478: obj/local/armeabi-v7a/objs/webrtc/src/webrtc/modules/audio_processing/aecm/aecm_core.o] Error 1
make[2]: Leaving directory '/home/vsts/work/1/s/webrtc'
make[1]: *** [Makefile:247: webrtc] Error 2
make[1]: Leaving directory '/home/vsts/work/1/s'
make: *** [Makefile:324: install-all] Error 2
##[error]Bash exited with code '2'.

As you can see, this file has the following instruction:

#include "absl/meta/type_traits.h"

I am not a C developer, so I do not know if this include instruction refered to something standard or to a specific file of the project. But the source code does not contain any "adsl" directory.

Should I install something specific on the machine that builds the project? Thank you for your help.


Solution

  • Download abseil library (https://github.com/abseil/abseil-cpp) and put it under third_party folder.