I'm trying to build Android app for SIP-connections using PJSIP library with OpenSSL support. First I've built PJSIP with OpenSSL, next trying to generate SWIG Java bindings and after entering command make
getting three errors of duplicate symbol in aes_icm.c and aes_icm_ossl.c files. If I don't use OpenSSL, everything builds fine.
I'm not a specialist in C/C++, so cannot understand how to solve the problem. Please help.
Building on MacOS, PJSIP version: 2.14.1, NDK 22.1.7171670 and OpenSSL 3.3.1.
ld: error: duplicate symbol: srtp_aes_icm_128
>>> defined at aes_icm.c
>>> aes_icm.o:(srtp_aes_icm_128) in archive /pjproject/third_party/lib/libsrtp-aarch64-unknown-linux-android.a
>>> defined at aes_icm_ossl.c
>>> aes_icm_ossl.o:(.data.rel.ro.srtp_aes_icm_128+0x0) in archive /pjproject/third_party/lib/libsrtp-aarch64-unknown-linux-android.a
ld: error: duplicate symbol: srtp_aes_icm_256
>>> defined at aes_icm.c
>>> aes_icm.o:(srtp_aes_icm_256) in archive /pjproject/third_party/lib/libsrtp-aarch64-unknown-linux-android.a
>>> defined at aes_icm_ossl.c
>>> aes_icm_ossl.o:(.data.rel.ro.srtp_aes_icm_256+0x0) in archive /pjproject/third_party/lib/libsrtp-aarch64-unknown-linux-android.a
ld: error: duplicate symbol: srtp_mod_aes_icm
>>> defined at aes_icm.c
>>> aes_icm.o:(srtp_mod_aes_icm) in archive /pjproject/third_party/lib/libsrtp-aarch64-unknown-linux-android.a
>>> defined at aes_icm_ossl.c
>>> aes_icm_ossl.o:(.data.srtp_mod_aes_icm+0x0) in archive /pjproject/third_party/lib/libsrtp-aarch64-unknown-linux-android.a
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
make[1]: *** [android/pjsua2/src/main/jniLibs/arm64-v8a/libpjsua2.so] Error 1
make: *** [java] Error 2