Asterisk and Macos 10.9.4/Mavericks

Hello,

I’m trying to build latest Asterisk on Macos with macports (2.3.1) updating the Portfile in the way (trac.macports.org/ticket/43233)

But with each release some troubles. Still no plan for clang compatibility?

  • certified 11.6-cert4
:debug:build Executing command line:  cd "/opt/local/var/macports/build/_Users_julien_tmp_myports_net_asterisk/asterisk11/work/certified-asterisk-11.6-cert4" && /usr/bin/make -j2 -w all
:info:build make: Entering directory `/opt/local/var/macports/build/_Users_julien_tmp_myports_net_asterisk/asterisk11/work/certified-asterisk-11.6-cert4'
:info:build    [LD] chan_agent.o -> chan_agent.so
:info:build ld: warning: directory not found for option '-L/usr/local/lib'
:info:build    [LD] pbx_dundi.o dundi-parser.o -> pbx_dundi.so
:info:build    [LD] chan_bridge.o -> chan_bridge.so
:info:build ld: warning: directory not found for option '-L/usr/local/lib'
:info:build ld: warning: directory not found for option '-L/usr/local/lib'
:info:build duplicate symbol _ast_tvdiff_sec in:
:info:build     pbx_dundi.o
:info:build     dundi-parser.o
[...]
:info:build duplicate symbol _ast_rq_is_int in:
:info:build     pbx_dundi.o
:info:build     dundi-parser.o
:info:build ld: 45 duplicate symbols for architecture x86_64
:info:build clang: error: linker command failed with exit code 1 (use -v to see invocation)
:info:build make[1]: *** [pbx_dundi.so] Error 1
:info:build make: *** [pbx] Error 2
:info:build make: *** Waiting for unfinished jobs....
:info:build    [LD] chan_console.o -> chan_console.so
:info:build    [LD] chan_iax2.o iax2-parser.o iax2-provision.o -> chan_iax2.so
:info:build ld: warning: directory not found for option '-L/usr/local/lib'
:info:build ld: warning: directory not found for option '-L/usr/local/lib'
:info:build duplicate symbol _ast_tvdiff_sec in:
:info:build     chan_iax2.o
:info:build     iax2-parser.o
:info:build duplicate symbol _ast_tvdiff_us in:
:info:build     chan_iax2.o
:info:build     iax2-parser.o
[...]
:info:build     iax2-provision.o
:info:build duplicate symbol _ast_str_append_escapecommas in:
:info:build     chan_iax2.o
:info:build     iax2-provision.o
:info:build duplicate symbol _ast_str_set in:
:info:build     chan_iax2.o
:info:build     iax2-provision.o
:info:build duplicate symbol _ast_str_append in:
:info:build     chan_iax2.o
:info:build     iax2-provision.o
:info:build duplicate symbol _ast_check_digits in:
:info:build     chan_iax2.o
:info:build     iax2-provision.o
:info:build duplicate symbol _ast_tech_to_upper in:
:info:build     chan_iax2.o
:info:build     iax2-provision.o
:info:build duplicate symbol _ast_rq_is_int in:
:info:build     chan_iax2.o
:info:build     iax2-provision.o
:info:build ld: 90 duplicate symbols for architecture x86_64
:info:build clang: error: linker command failed with exit code 1 (use -v to see invocation)
:info:build make[1]: *** [chan_iax2.so] Error 1
  • 12.5.0
:info:build Building Documentation For: channels pbx apps codecs formats cdr cel bridges funcs tests main res addons 
:info:build menuselect/menuselect --check-deps menuselect.makeopts
:info:build Unknown value '' found in build_tools/menuselect-deps for NATIVE_ARCH
:info:build menuselect/menuselect --check-deps menuselect.makeopts  
:info:build Unknown value '' found in build_tools/menuselect-deps for NATIVE_ARCH
:info:build Generating embedded module rules ...
:info:build    [CC] astcanary.c -> astcanary.o
:info:build clang: warning: argument unused during compilation: '-fnested-functions'
:info:build    [CC] chan_bridge_media.c -> chan_bridge_media.o
:info:build clang: warning: argument unused during compilation: '-fnested-functions'
:info:build    [CC] astdb2sqlite3.c -> astdb2sqlite3.o
:info:build clang: warning: argument unused during compilation: '-fnested-functions'
:info:build    [CC] hash/hash.c -> hash/hash.o
:info:build chan_bridge_media.c:122:2: error: illegal storage class on function
:info:build         RAII_VAR(struct ast_callid *, callid, NULL, ast_callid_cleanup);
:info:build         ^    
:info:build /opt/local/var/macports/build/_Users_julien_tmp_myports_net_asterisk/asterisk/work/asterisk-12.5.0/include/asterisk/utils.h:991:5: note: expanded from macro 'RAII_VAR'
:info:build     auto void _dtor_ ## varname (vartype * v); \
:info:build     ^    
:info:build chan_bridge_media.c:122:2: error: function definition is not allowed here 
:info:build /opt/local/var/macports/build/_Users_julien_tmp_myports_net_asterisk/asterisk/work/asterisk-12.5.0/include/asterisk/utils.h:992:42: note: expanded from macro 'RAII_VAR'
:info:build     void _dtor_ ## varname (vartype * v) { dtor(*v); } \
:info:build                                          ^    
:info:build chan_bridge_media.c:123:2: error: illegal storage class on function
:info:build         RAII_VAR(struct ast_unreal_pvt *, pvt, NULL, ao2_cleanup);
:info:build         ^    
:info:build /opt/local/var/macports/build/_Users_julien_tmp_myports_net_asterisk/asterisk/work/asterisk-12.5.0/include/asterisk/utils.h:991:5: note: expanded from macro 'RAII_VAR'
:info:build     auto void _dtor_ ## varname (vartype * v); \
:info:build     ^    
:info:build chan_bridge_media.c:123:2: error: function definition is not allowed here 
:info:build /opt/local/var/macports/build/_Users_julien_tmp_myports_net_asterisk/asterisk/work/asterisk-12.5.0/include/asterisk/utils.h:992:42: note: expanded from macro 'RAII_VAR'
:info:build     void _dtor_ ## varname (vartype * v) { dtor(*v); } \
:info:build                                          ^    
:info:build chan_bridge_media.c:125:8: error: use of undeclared identifier 'pvt'
:info:build         if (!(pvt = ast_unreal_alloc(sizeof(*pvt), ast_unreal_destructor, cap))) {
:info:build               ^
:info:build chan_bridge_media.c:125:39: error: use of undeclared identifier 'pvt'
:info:build         if (!(pvt = ast_unreal_alloc(sizeof(*pvt), ast_unreal_destructor, cap))) {
[...]
  • 13.0.0-beta1
    same than 12 it seems.

  • 1.8.15-cert7: same than 11

WITH GCC4.9

  • 11 or 1.8
:info:build    [CC] dnsmgr.c -> dnsmgr.o
:info:build    [CC] dsp.c -> dsp.o
:info:build    [CC] enum.c -> enum.o
:info:build enum.c: In function 'blr_txt':
:info:build enum.c:225:41: error: 'C_IN' undeclared (first use in this function)
:info:build   ret = ast_search_dns(&context, domain, C_IN, T_TXT, txt_callback);
:info:build                                          ^    
:info:build enum.c:225:41: note: each undeclared identifier is reported only once for each function it appears in
:info:build enum.c: In function 'blr_ebl':
:info:build enum.c:354:41: error: 'C_IN' undeclared (first use in this function)
:info:build   ret = ast_search_dns(&context, domain, C_IN, T_EBL, ebl_callback);
:info:build                                          ^    
:info:build enum.c: In function 'ast_get_enum':
:info:build enum.c:858:37: error: 'C_IN' undeclared (first use in this function)
:info:build   ret = ast_search_dns(context, tmp, C_IN, T_NAPTR, enum_callback);
:info:build                                      ^    
:info:build make[1]: *** [enum.o] Error 1
  • 12 build OK
  • 13
:info:build    [CC] chan_sip.c -> chan_sip.o
:info:build    [CC] app_confbridge.c -> app_confbridge.o
:info:build In file included from sip/include/sip.h:41:0,
:info:build                  from chan_sip.c:267:
:info:build sip/include/route.h:100:17: warning: no previous prototype for 'sip_route_list' [-Wmissing-prototypes]
:info:build  struct ast_str *sip_route_list(const struct sip_route *route, int formatcli, int skip) 
:info:build                  ^     
:info:build sip/include/route.h: In function 'sip_route_list':
:info:build sip/include/route.h:101:3: error: unknown type name '__attribute_malloc__'
:info:build    __attribute_malloc__ __attribute_warn_unused_result__;
:info:build    ^
:info:build In file included from chan_sip.c:267:0:
:info:build sip/include/sip.h:406:1: warning: empty declaration
:info:build  enum transfermodes {
[...]
:info:build sip/include/sip.h:1693:1: warning: empty declaration
:info:build  struct sip_esc_entry {
:info:build  ^
:info:build sip/include/sip.h:1739:22: error: storage class specified for parameter 'esc_publish_callback'
:info:build  typedef int (* const esc_publish_callback)(struct sip_pvt *, struct sip_request *, struct event_state_compositor *, struct sip_esc_entry *);
:info:build                       ^
:info:build sip/include/sip.h:1750:29: error: expected ':', ',', ';', '}' or '__attribute__' before 'initial_handler'
:info:build   const esc_publish_callback initial_handler;
:info:build                              ^
:info:build sip/include/sip.h:1749:1: warning: empty declaration
:info:build  struct sip_esc_publish_callbacks {

Any help to get that fixed?
Last, any test command/suite integrated to check executable is working?

found those old thread with few answers
viewtopic.php?f=1&t=79324&p=197210
github.com/Homebrew/homebrew/issues/11283
lists.digium.com/pipermail/aster … 62893.html
stackoverflow.com/questions/216 … -mavericks
github.com/leedm777/homebrew-as … sterisk.rb

Thanks