Asterisk 16, 9.0 – Res_rtp_asterisk Compilation Error
Hello,
2 asterisk servers 16.8.0 version running on Debian 10.3 On one of them, I can’t compile asterisk having error
[CC] res_rtp_asterisk.c -> res_rtp_asterisk.o res_rtp_asterisk.c:2674:3: error: ‘pj_ice_sess_cb’ {aka ‘struct pj_ice_sess_cb’} has no member named ‘on_valid_pair’
.on_valid_pair = ast_rtp_on_valid_pair,
^~~~~~~~~~~~~
res_rtp_asterisk.c:2674:19: warning: initialization of ‘void
(*)(pj_ice_sess *, pj_status_t)’ {aka ‘void (*)(struct pj_ice_sess *, int)’} from incompatible pointer type ‘void (*)(pj_ice_sess *)’ {aka
‘void (*)(struct pj_ice_sess *)’} [-Wincompatible-pointer-types]
.on_valid_pair = ast_rtp_on_valid_pair,
^~~~~~~~~~~~~~~~~~~~~
res_rtp_asterisk.c:2674:19: note: (near initialization for
‘ast_rtp_ice_sess_cb.on_ice_complete’)
make[1]: *** [/usr/src/asterisk-16.9.0/Makefile.rules:164:
res_rtp_asterisk.o] Error 1
make: *** [Makefile:383: res] Error 2
I applied the patch and did make clean && ./configure
–with-pjproject-bundled && make which give this error. Openssl is installed. On the other server there was no problem.
Any clue ?
—
Daniel
—
3 thoughts on - Asterisk 16, 9.0 – Res_rtp_asterisk Compilation Error
If you do “make distclean” and then rebuild does it resolve the problem?
Did you apply the patch to upgrade?
Le 13/03/2020 à 13:30, Joshua C. Colp a écrit :
We a distclean it’s OK despite the fact that we see error
[CC] app_osplookup.c -> app_osplookup.o app_osplookup.c: In function ‘osp_convert_inout.constprop’:
app_osplookup.c:1011:35: warning: ‘]:’ directive output may be truncated writing 2 bytes into a region of size between 0 and 255
[-Wformat-truncation=]
snprintf(dest, destsize, “[%s]:%s”, buffer, port);
^~
In file included from /usr/include/stdio.h:873,
from
/usr/src/asterisk-16.9.0/include/asterisk/compat.h:49,
from /usr/src/asterisk-16.9.0/include/asterisk.h:22,
from app_osplookup.c:37:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:67:10: note:
‘__builtin___snprintf_chk’ output 4 or more bytes (assuming 259) into a destination of size 256
return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL – 1,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
__bos (__s), __fmt, __va_arg_pack ());
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
app_osplookup.c:1013:35: warning: ‘]’ directive output may be truncated writing 1 byte into a region of size between 0 and 255
[-Wformat-truncation=]
snprintf(dest, destsize, “[%s]”, buffer);
^
In file included from /usr/include/stdio.h:873,
from
/usr/src/asterisk-16.9.0/include/asterisk/compat.h:49,
from /usr/src/asterisk-16.9.0/include/asterisk.h:22,
from app_osplookup.c:37:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:67:10: note:
‘__builtin___snprintf_chk’ output between 3 and 258 bytes into a destination of size 256
return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL – 1,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
__bos (__s), __fmt, __va_arg_pack ());
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Does it mean that we should always use distclean with the newer versions?
It’s best to do a “make distclean” if you are reusing an existing copy of the source code to clean everything up so it builds from scratch.