Janus-gateway: Error "undefined reference to `srtp_crypto_policy_set_aes_gcm_256_16_auth'" when building Janus

Created on 7 Apr 2020  路  5Comments  路  Source: meetecho/janus-gateway

hi, folks! thanks a lot for your contributions here :)

i've just started running into an issue when trying to build Janus master (9389c4a436ffef07ca2687d08e165ef283bef198):

# from my Dockerfile
RUN git clone https://github.com/meetecho/janus-gateway.git \
  && cd janus-gateway \
  && sh autogen.sh \
  && ./configure --prefix=/opt/janus --disable-rabbitmq --disable-mqtt \
  && make \
  && make install \
  && make configs
...
janus-dtls.o: In function `janus_dtls_srtp_incoming_msg':
/janus-gateway/dtls.c:861: undefined reference to `srtp_crypto_policy_set_aes_gcm_256_16_auth'
/janus-gateway/dtls.c:862: undefined reference to `srtp_crypto_policy_set_aes_gcm_256_16_auth'
/janus-gateway/dtls.c:896: undefined reference to `srtp_crypto_policy_set_aes_gcm_256_16_auth'
/janus-gateway/dtls.c:897: undefined reference to `srtp_crypto_policy_set_aes_gcm_256_16_auth'
/janus-gateway/dtls.c:900: undefined reference to `srtp_crypto_policy_set_aes_gcm_128_16_auth'
/janus-gateway/dtls.c:901: undefined reference to `srtp_crypto_policy_set_aes_gcm_128_16_auth'
/janus-gateway/dtls.c:865: undefined reference to `srtp_crypto_policy_set_aes_gcm_128_16_auth'
/janus-gateway/dtls.c:866: undefined reference to `srtp_crypto_policy_set_aes_gcm_128_16_auth'
collect2: error: ld returned 1 exit status
make[2]: *** [janus] Error 1
Makefile:1786: recipe for target 'janus' failed
make[2]: Leaving directory '/janus-gateway'
make[1]: *** [all-recursive] Error 1
Makefile:3073: recipe for target 'all-recursive' failed
make[1]: Leaving directory '/janus-gateway'
make: *** [all] Error 2
Makefile:1385: recipe for target 'all' failed

i didn't have this problem yesterday when i was building yesterday's master. if i check out 40bb6bf95247fd718abe9c565b38a2e01788cc42 (from April 3rd), i can build Janus just fine. given these two things, i wonder if a recent change is causing this bug.

the diff in this commit from 10 hours ago includes references to srtp_crypto_policy_set_aes_gcm_256_16_auth, which looks suspicious :)

happy to share the Dockerfile i'm using or anything else if it'd be helpful!

Most helpful comment

Just added a --disable-aes-gcm configure flag in case --enable-openssl doesn't help for some reason. Added to FAQ too: https://janus.conf.meetecho.com/docs/FAQ#aesgcm

All 5 comments

Your libsrtp(2) version was probably built without --enable-openssl or --enable-nss, as explained here https://github.com/meetecho/janus-gateway/issues/2024#issuecomment-609965933

I am having the same issue, and my libsrtp2 was built with --enable-openssl.

Maybe you have more than one libsrtp installed and Janus is picking the wrong one. That said, closing as I already put the recommendation in the README.

Just added a --disable-aes-gcm configure flag in case --enable-openssl doesn't help for some reason. Added to FAQ too: https://janus.conf.meetecho.com/docs/FAQ#aesgcm

Just added a --disable-aes-gcm configure flag in case --enable-openssl doesn't help for some reason. Added to FAQ too: https://janus.conf.meetecho.com/docs/FAQ#aesgcm

It's help for me to build code on Raspberry Pi 4. Thanks

Was this page helpful?
0 / 5 - 0 ratings

Related issues

DaGLiMiOuX picture DaGLiMiOuX  路  9Comments

RobertLowe picture RobertLowe  路  8Comments

manifest picture manifest  路  6Comments

kuzm1ch picture kuzm1ch  路  6Comments

cmacq2 picture cmacq2  路  11Comments