[asterisk-bugs] [JIRA] (ASTERISK-29884) logger.h: logger macros cause install to fail
N A (JIRA)
noreply at issues.asterisk.org
Thu Jan 27 12:27:06 CST 2022
N A created ASTERISK-29884:
------------------------------
Summary: logger.h: logger macros cause install to fail
Key: ASTERISK-29884
URL: https://issues.asterisk.org/jira/browse/ASTERISK-29884
Project: Asterisk
Issue Type: Bug
Security Level: None
Components: Core/Logging, General
Affects Versions: 18.9.0
Environment: FreeBSD 13
Reporter: N A
Severity: Major
Actual version is master branch, not 18.9.0.
When trying to install Asterisk on FreeBSD, install fails when compiling bridge.c:
[CPP] backtrace.c -> backtrace.i
[CCi] backtrace.i -> backtrace.o
[CPP] bridge.c -> bridge.i
[CCi] bridge.i -> bridge.o
bridge.c:1630:54: error: illegal storage class on function
const char *__trace_funcname = __PRETTY_FUNCTION__; auto void __scopevar__LINE____EXIT(void * v); void __scopevar__LINE____EXIT(void * v __attribute__((unused))) { if ((option_trace >= (1) || (({ typeof ((&ast_options)->flags) __p = (&ast_options)->flags; typeof (__unsigned_int_flags_dummy) __x = 0; (void) (&__p == &__x); ((&ast_options)->flags & (AST_OPT_FLAG_TRACE_MODULE)); }) && ((int)ast_trace_get_by_module("core") >= (1) || (int)ast_trace_get_by_module("bridge.c") >= (1))))) { __ast_trace("bridge.c", 1630, __trace_funcname, AST_TRACE_INDENT_DEC_BEFORE, 0, " " "%s Bridge: %s\n", ast_channel_name(chan), bridge->uniqueid); } } void *__scopevar__LINE____TRACER __attribute__((cleanup(__scopevar__LINE____EXIT))) = (void *) __PRETTY_FUNCTION__ ; auto int __scopevar__LINE____ENTER(void); int __scopevar__LINE____ENTER(void) { if ((option_trace >= (1) || (({ typeof ((&ast_options)->flags) __p = (&ast_options)->flags; typeof (__unsigned_int_flags_dummy) __x = 0; (void) (&__p == &__x); ((&ast_options)->flags & (AST_OPT_FLAG_TRACE_MODULE)); }) && ((int)ast_trace_get_by_module("core") >= (1) || (int)ast_trace_get_by_module("bridge.c") >= (1))))) { __ast_trace("bridge.c", 1630, __trace_funcname, AST_TRACE_INDENT_INC_AFTER, 0, " " "%s Bridge: %s\n", ast_channel_name(chan), bridge->uniqueid); } return 0; } int __scopevar__LINE____RETURN __attribute__((unused)) = __scopevar__LINE____ENTER();
^
bridge.c:1630:164: error: function definition is not allowed here
const char *__trace_funcname = __PRETTY_FUNCTION__; auto void __scopevar__LINE____EXIT(void * v); void __scopevar__LINE____EXIT(void * v __attribute__((unused))) { if ((option_trace >= (1) || (({ typeof ((&ast_options)->flags) __p = (&ast_options)->flags; typeof (__unsigned_int_flags_dummy) __x = 0; (void) (&__p == &__x); ((&ast_options)->flags & (AST_OPT_FLAG_TRACE_MODULE)); }) && ((int)ast_trace_get_by_module("core") >= (1) || (int)ast_trace_get_by_module("bridge.c") >= (1))))) { __ast_trace("bridge.c", 1630, __trace_funcname, AST_TRACE_INDENT_DEC_BEFORE, 0, " " "%s Bridge: %s\n", ast_channel_name(chan), bridge->uniqueid); } } void *__scopevar__LINE____TRACER __attribute__((cleanup(__scopevar__LINE____EXIT))) = (void *) __PRETTY_FUNCTION__ ; auto int __scopevar__LINE____ENTER(void); int __scopevar__LINE____ENTER(void) { if ((option_trace >= (1) || (({ typeof ((&ast_options)->flags) __p = (&ast_options)->flags; typeof (__unsigned_int_flags_dummy) __x = 0; (void) (&__p == &__x); ((&ast_options)->flags & (AST_OPT_FLAG_TRACE_MODULE)); }) && ((int)ast_trace_get_by_module("core") >= (1) || (int)ast_trace_get_by_module("bridge.c") >= (1))))) { __ast_trace("bridge.c", 1630, __trace_funcname, AST_TRACE_INDENT_INC_AFTER, 0, " " "%s Bridge: %s\n", ast_channel_name(chan), bridge->uniqueid); } return 0; } int __scopevar__LINE____RETURN __attribute__((unused)) = __scopevar__LINE____ENTER();
^
bridge.c:1630:756: error: illegal storage class on function
const char *__trace_funcname = __PRETTY_FUNCTION__; auto void __scopevar__LINE____EXIT(void * v); void __scopevar__LINE____EXIT(void * v __attribute__((unused))) { if ((option_trace >= (1) || (({ typeof ((&ast_options)->flags) __p = (&ast_options)->flags; typeof (__unsigned_int_flags_dummy) __x = 0; (void) (&__p == &__x); ((&ast_options)->flags & (AST_OPT_FLAG_TRACE_MODULE)); }) && ((int)ast_trace_get_by_module("core") >= (1) || (int)ast_trace_get_by_module("bridge.c") >= (1))))) { __ast_trace("bridge.c", 1630, __trace_funcname, AST_TRACE_INDENT_DEC_BEFORE, 0, " " "%s Bridge: %s\n", ast_channel_name(chan), bridge->uniqueid); } } void *__scopevar__LINE____TRACER __attribute__((cleanup(__scopevar__LINE____EXIT))) = (void *) __PRETTY_FUNCTION__ ; auto int __scopevar__LINE____ENTER(void); int __scopevar__LINE____ENTER(void) { if ((option_trace >= (1) || (({ typeof ((&ast_options)->flags) __p = (&ast_options)->flags; typeof (__unsigned_int_flags_dummy) __x = 0; (void) (&__p == &__x); ((&ast_options)->flags & (AST_OPT_FLAG_TRACE_MODULE)); }) && ((int)ast_trace_get_by_module("core") >= (1) || (int)ast_trace_get_by_module("bridge.c") >= (1))))) { __ast_trace("bridge.c", 1630, __trace_funcname, AST_TRACE_INDENT_INC_AFTER, 0, " " "%s Bridge: %s\n", ast_channel_name(chan), bridge->uniqueid); } return 0; } int __scopevar__LINE____RETURN __attribute__((unused)) = __scopevar__LINE____ENTER();
^
bridge.c:1630:834: error: function definition is not allowed here
const char *__trace_funcname = __PRETTY_FUNCTION__; auto void __scopevar__LINE____EXIT(void * v); void __scopevar__LINE____EXIT(void * v __attribute__((unused))) { if ((option_trace >= (1) || (({ typeof ((&ast_options)->flags) __p = (&ast_options)->flags; typeof (__unsigned_int_flags_dummy) __x = 0; (void) (&__p == &__x); ((&ast_options)->flags & (AST_OPT_FLAG_TRACE_MODULE)); }) && ((int)ast_trace_get_by_module("core") >= (1) || (int)ast_trace_get_by_module("bridge.c") >= (1))))) { __ast_trace("bridge.c", 1630, __trace_funcname, AST_TRACE_INDENT_DEC_BEFORE, 0, " " "%s Bridge: %s\n", ast_channel_name(chan), bridge->uniqueid); } } void *__scopevar__LINE____TRACER __attribute__((cleanup(__scopevar__LINE____EXIT))) = (void *) __PRETTY_FUNCTION__ ; auto int __scopevar__LINE____ENTER(void); int __scopevar__LINE____ENTER(void) { if ((option_trace >= (1) || (({ typeof ((&ast_options)->flags) __p = (&ast_options)->flags; typeof (__unsigned_int_flags_dummy) __x = 0; (void) (&__p == &__x); ((&ast_options)->flags & (AST_OPT_FLAG_TRACE_MODULE)); }) && ((int)ast_trace_get_by_module("core") >= (1) || (int)ast_trace_get_by_module("bridge.c") >= (1))))) { __ast_trace("bridge.c", 1630, __trace_funcname, AST_TRACE_INDENT_INC_AFTER, 0, " " "%s Bridge: %s\n", ast_channel_name(chan), bridge->uniqueid); } return 0; } int __scopevar__LINE____RETURN __attribute__((unused)) = __scopevar__LINE____ENTER();
^
bridge.c:1888:54: error: illegal storage class on function
const char *__trace_funcname = __PRETTY_FUNCTION__; auto void __scopevar__LINE____EXIT(void * v); void __scopevar__LINE____EXIT(void * v __attribute__((unused))) { if ((option_trace >= (1) || (({ typeof ((&ast_options)->flags) __p = (&ast_options)->flags; typeof (__unsigned_int_flags_dummy) __x = 0; (void) (&__p == &__x); ((&ast_options)->flags & (AST_OPT_FLAG_TRACE_MODULE)); }) && ((int)ast_trace_get_by_module("core") >= (1) || (int)ast_trace_get_by_module("bridge.c") >= (1))))) { __ast_trace("bridge.c", 1888, __trace_funcname, AST_TRACE_INDENT_DEC_BEFORE, 0, " " "%s Bridge: %s\n", ast_channel_name(chan), bridge->uniqueid); } } void *__scopevar__LINE____TRACER __attribute__((cleanup(__scopevar__LINE____EXIT))) = (void *) __PRETTY_FUNCTION__ ; auto int __scopevar__LINE____ENTER(void); int __scopevar__LINE____ENTER(void) { if ((option_trace >= (1) || (({ typeof ((&ast_options)->flags) __p = (&ast_options)->flags; typeof (__unsigned_int_flags_dummy) __x = 0; (void) (&__p == &__x); ((&ast_options)->flags & (AST_OPT_FLAG_TRACE_MODULE)); }) && ((int)ast_trace_get_by_module("core") >= (1) || (int)ast_trace_get_by_module("bridge.c") >= (1))))) { __ast_trace("bridge.c", 1888, __trace_funcname, AST_TRACE_INDENT_INC_AFTER, 0, " " "%s Bridge: %s\n", ast_channel_name(chan), bridge->uniqueid); } return 0; } int __scopevar__LINE____RETURN __attribute__((unused)) = __scopevar__LINE____ENTER();
^
bridge.c:1888:164: error: function definition is not allowed here
const char *__trace_funcname = __PRETTY_FUNCTION__; auto void __scopevar__LINE____EXIT(void * v); void __scopevar__LINE____EXIT(void * v __attribute__((unused))) { if ((option_trace >= (1) || (({ typeof ((&ast_options)->flags) __p = (&ast_options)->flags; typeof (__unsigned_int_flags_dummy) __x = 0; (void) (&__p == &__x); ((&ast_options)->flags & (AST_OPT_FLAG_TRACE_MODULE)); }) && ((int)ast_trace_get_by_module("core") >= (1) || (int)ast_trace_get_by_module("bridge.c") >= (1))))) { __ast_trace("bridge.c", 1888, __trace_funcname, AST_TRACE_INDENT_DEC_BEFORE, 0, " " "%s Bridge: %s\n", ast_channel_name(chan), bridge->uniqueid); } } void *__scopevar__LINE____TRACER __attribute__((cleanup(__scopevar__LINE____EXIT))) = (void *) __PRETTY_FUNCTION__ ; auto int __scopevar__LINE____ENTER(void); int __scopevar__LINE____ENTER(void) { if ((option_trace >= (1) || (({ typeof ((&ast_options)->flags) __p = (&ast_options)->flags; typeof (__unsigned_int_flags_dummy) __x = 0; (void) (&__p == &__x); ((&ast_options)->flags & (AST_OPT_FLAG_TRACE_MODULE)); }) && ((int)ast_trace_get_by_module("core") >= (1) || (int)ast_trace_get_by_module("bridge.c") >= (1))))) { __ast_trace("bridge.c", 1888, __trace_funcname, AST_TRACE_INDENT_INC_AFTER, 0, " " "%s Bridge: %s\n", ast_channel_name(chan), bridge->uniqueid); } return 0; } int __scopevar__LINE____RETURN __attribute__((unused)) = __scopevar__LINE____ENTER();
^
bridge.c:1888:756: error: illegal storage class on function
const char *__trace_funcname = __PRETTY_FUNCTION__; auto void __scopevar__LINE____EXIT(void * v); void __scopevar__LINE____EXIT(void * v __attribute__((unused))) { if ((option_trace >= (1) || (({ typeof ((&ast_options)->flags) __p = (&ast_options)->flags; typeof (__unsigned_int_flags_dummy) __x = 0; (void) (&__p == &__x); ((&ast_options)->flags & (AST_OPT_FLAG_TRACE_MODULE)); }) && ((int)ast_trace_get_by_module("core") >= (1) || (int)ast_trace_get_by_module("bridge.c") >= (1))))) { __ast_trace("bridge.c", 1888, __trace_funcname, AST_TRACE_INDENT_DEC_BEFORE, 0, " " "%s Bridge: %s\n", ast_channel_name(chan), bridge->uniqueid); } } void *__scopevar__LINE____TRACER __attribute__((cleanup(__scopevar__LINE____EXIT))) = (void *) __PRETTY_FUNCTION__ ; auto int __scopevar__LINE____ENTER(void); int __scopevar__LINE____ENTER(void) { if ((option_trace >= (1) || (({ typeof ((&ast_options)->flags) __p = (&ast_options)->flags; typeof (__unsigned_int_flags_dummy) __x = 0; (void) (&__p == &__x); ((&ast_options)->flags & (AST_OPT_FLAG_TRACE_MODULE)); }) && ((int)ast_trace_get_by_module("core") >= (1) || (int)ast_trace_get_by_module("bridge.c") >= (1))))) { __ast_trace("bridge.c", 1888, __trace_funcname, AST_TRACE_INDENT_INC_AFTER, 0, " " "%s Bridge: %s\n", ast_channel_name(chan), bridge->uniqueid); } return 0; } int __scopevar__LINE____RETURN __attribute__((unused)) = __scopevar__LINE____ENTER();
^
bridge.c:1888:834: error: function definition is not allowed here
const char *__trace_funcname = __PRETTY_FUNCTION__; auto void __scopevar__LINE____EXIT(void * v); void __scopevar__LINE____EXIT(void * v __attribute__((unused))) { if ((option_trace >= (1) || (({ typeof ((&ast_options)->flags) __p = (&ast_options)->flags; typeof (__unsigned_int_flags_dummy) __x = 0; (void) (&__p == &__x); ((&ast_options)->flags & (AST_OPT_FLAG_TRACE_MODULE)); }) && ((int)ast_trace_get_by_module("core") >= (1) || (int)ast_trace_get_by_module("bridge.c") >= (1))))) { __ast_trace("bridge.c", 1888, __trace_funcname, AST_TRACE_INDENT_DEC_BEFORE, 0, " " "%s Bridge: %s\n", ast_channel_name(chan), bridge->uniqueid); } } void *__scopevar__LINE____TRACER __attribute__((cleanup(__scopevar__LINE____EXIT))) = (void *) __PRETTY_FUNCTION__ ; auto int __scopevar__LINE____ENTER(void); int __scopevar__LINE____ENTER(void) { if ((option_trace >= (1) || (({ typeof ((&ast_options)->flags) __p = (&ast_options)->flags; typeof (__unsigned_int_flags_dummy) __x = 0; (void) (&__p == &__x); ((&ast_options)->flags & (AST_OPT_FLAG_TRACE_MODULE)); }) && ((int)ast_trace_get_by_module("core") >= (1) || (int)ast_trace_get_by_module("bridge.c") >= (1))))) { __ast_trace("bridge.c", 1888, __trace_funcname, AST_TRACE_INDENT_INC_AFTER, 0, " " "%s Bridge: %s\n", ast_channel_name(chan), bridge->uniqueid); } return 0; } int __scopevar__LINE____RETURN __attribute__((unused)) = __scopevar__LINE____ENTER();
^
bridge.c:1910:54: error: illegal storage class on function
const char *__trace_funcname = __PRETTY_FUNCTION__; auto void __scopevar__LINE____EXIT(void * v); void __scopevar__LINE____EXIT(void * v __attribute__((unused))) { if ((option_trace >= (1) || (({ typeof ((&ast_options)->flags) __p = (&ast_options)->flags; typeof (__unsigned_int_flags_dummy) __x = 0; (void) (&__p == &__x); ((&ast_options)->flags & (AST_OPT_FLAG_TRACE_MODULE)); }) && ((int)ast_trace_get_by_module("core") >= (1) || (int)ast_trace_get_by_module("bridge.c") >= (1))))) { __ast_trace("bridge.c", 1910, __trace_funcname, AST_TRACE_INDENT_DEC_BEFORE, 0, " " "%s\n", ast_channel_name(chan)); } } void *__scopevar__LINE____TRACER __attribute__((cleanup(__scopevar__LINE____EXIT))) = (void *) __PRETTY_FUNCTION__ ; auto int __scopevar__LINE____ENTER(void); int __scopevar__LINE____ENTER(void) { if ((option_trace >= (1) || (({ typeof ((&ast_options)->flags) __p = (&ast_options)->flags; typeof (__unsigned_int_flags_dummy) __x = 0; (void) (&__p == &__x); ((&ast_options)->flags & (AST_OPT_FLAG_TRACE_MODULE)); }) && ((int)ast_trace_get_by_module("core") >= (1) || (int)ast_trace_get_by_module("bridge.c") >= (1))))) { __ast_trace("bridge.c", 1910, __trace_funcname, AST_TRACE_INDENT_INC_AFTER, 0, " " "%s\n", ast_channel_name(chan)); } return 0; } int __scopevar__LINE____RETURN __attribute__((unused)) = __scopevar__LINE____ENTER();
^
bridge.c:1910:164: error: function definition is not allowed here
const char *__trace_funcname = __PRETTY_FUNCTION__; auto void __scopevar__LINE____EXIT(void * v); void __scopevar__LINE____EXIT(void * v __attribute__((unused))) { if ((option_trace >= (1) || (({ typeof ((&ast_options)->flags) __p = (&ast_options)->flags; typeof (__unsigned_int_flags_dummy) __x = 0; (void) (&__p == &__x); ((&ast_options)->flags & (AST_OPT_FLAG_TRACE_MODULE)); }) && ((int)ast_trace_get_by_module("core") >= (1) || (int)ast_trace_get_by_module("bridge.c") >= (1))))) { __ast_trace("bridge.c", 1910, __trace_funcname, AST_TRACE_INDENT_DEC_BEFORE, 0, " " "%s\n", ast_channel_name(chan)); } } void *__scopevar__LINE____TRACER __attribute__((cleanup(__scopevar__LINE____EXIT))) = (void *) __PRETTY_FUNCTION__ ; auto int __scopevar__LINE____ENTER(void); int __scopevar__LINE____ENTER(void) { if ((option_trace >= (1) || (({ typeof ((&ast_options)->flags) __p = (&ast_options)->flags; typeof (__unsigned_int_flags_dummy) __x = 0; (void) (&__p == &__x); ((&ast_options)->flags & (AST_OPT_FLAG_TRACE_MODULE)); }) && ((int)ast_trace_get_by_module("core") >= (1) || (int)ast_trace_get_by_module("bridge.c") >= (1))))) { __ast_trace("bridge.c", 1910, __trace_funcname, AST_TRACE_INDENT_INC_AFTER, 0, " " "%s\n", ast_channel_name(chan)); } return 0; } int __scopevar__LINE____RETURN __attribute__((unused)) = __scopevar__LINE____ENTER();
^
bridge.c:1910:727: error: illegal storage class on function
const char *__trace_funcname = __PRETTY_FUNCTION__; auto void __scopevar__LINE____EXIT(void * v); void __scopevar__LINE____EXIT(void * v __attribute__((unused))) { if ((option_trace >= (1) || (({ typeof ((&ast_options)->flags) __p = (&ast_options)->flags; typeof (__unsigned_int_flags_dummy) __x = 0; (void) (&__p == &__x); ((&ast_options)->flags & (AST_OPT_FLAG_TRACE_MODULE)); }) && ((int)ast_trace_get_by_module("core") >= (1) || (int)ast_trace_get_by_module("bridge.c") >= (1))))) { __ast_trace("bridge.c", 1910, __trace_funcname, AST_TRACE_INDENT_DEC_BEFORE, 0, " " "%s\n", ast_channel_name(chan)); } } void *__scopevar__LINE____TRACER __attribute__((cleanup(__scopevar__LINE____EXIT))) = (void *) __PRETTY_FUNCTION__ ; auto int __scopevar__LINE____ENTER(void); int __scopevar__LINE____ENTER(void) { if ((option_trace >= (1) || (({ typeof ((&ast_options)->flags) __p = (&ast_options)->flags; typeof (__unsigned_int_flags_dummy) __x = 0; (void) (&__p == &__x); ((&ast_options)->flags & (AST_OPT_FLAG_TRACE_MODULE)); }) && ((int)ast_trace_get_by_module("core") >= (1) || (int)ast_trace_get_by_module("bridge.c") >= (1))))) { __ast_trace("bridge.c", 1910, __trace_funcname, AST_TRACE_INDENT_INC_AFTER, 0, " " "%s\n", ast_channel_name(chan)); } return 0; } int __scopevar__LINE____RETURN __attribute__((unused)) = __scopevar__LINE____ENTER();
^
bridge.c:1910:805: error: function definition is not allowed here
const char *__trace_funcname = __PRETTY_FUNCTION__; auto void __scopevar__LINE____EXIT(void * v); void __scopevar__LINE____EXIT(void * v __attribute__((unused))) { if ((option_trace >= (1) || (({ typeof ((&ast_options)->flags) __p = (&ast_options)->flags; typeof (__unsigned_int_flags_dummy) __x = 0; (void) (&__p == &__x); ((&ast_options)->flags & (AST_OPT_FLAG_TRACE_MODULE)); }) && ((int)ast_trace_get_by_module("core") >= (1) || (int)ast_trace_get_by_module("bridge.c") >= (1))))) { __ast_trace("bridge.c", 1910, __trace_funcname, AST_TRACE_INDENT_DEC_BEFORE, 0, " " "%s\n", ast_channel_name(chan)); } } void *__scopevar__LINE____TRACER __attribute__((cleanup(__scopevar__LINE____EXIT))) = (void *) __PRETTY_FUNCTION__ ; auto int __scopevar__LINE____ENTER(void); int __scopevar__LINE____ENTER(void) { if ((option_trace >= (1) || (({ typeof ((&ast_options)->flags) __p = (&ast_options)->flags; typeof (__unsigned_int_flags_dummy) __x = 0; (void) (&__p == &__x); ((&ast_options)->flags & (AST_OPT_FLAG_TRACE_MODULE)); }) && ((int)ast_trace_get_by_module("core") >= (1) || (int)ast_trace_get_by_module("bridge.c") >= (1))))) { __ast_trace("bridge.c", 1910, __trace_funcname, AST_TRACE_INDENT_INC_AFTER, 0, " " "%s\n", ast_channel_name(chan)); } return 0; } int __scopevar__LINE____RETURN __attribute__((unused)) = __scopevar__LINE____ENTER();
However, if I go ahead and comment out the contents and turn SCOPE_TRACE into an empty macro, then installation proceeds... at least until it gets here - there may be multiple other incompatabilities as well:
[CPP] logger.c -> logger.i
[CCi] logger.i -> logger.o
logger.c:2536:54: error: format string is not a string literal [-Werror,-Wformat-nonliteral]
ast_log_full(1, -1, ((void *)0), 0, ((void *)0), 0, ast_str_buffer(fmt), ap);
It seems something about this isn't compatible with FreeBSD.
I'm using gmake, and don't recall encountering this issue before. This is on a fresh virtual machine. This happens both with and without applying the FreeBSD port patches (minus the obsolete one that modifies Makefiles.rules due to the recent srtp pjproject review).
--
This message was sent by Atlassian JIRA
(v6.2#6252)
More information about the asterisk-bugs
mailing list