Hi everyone.

I'm trying to compile Asterisk with the smsq utility on Ubuntu 16.04 LTS, and while most things are compiling fine, smsq fails with the following output:

root@test25:/usr/src/asterisk-certified-13.1-cert7/utils# make smsq
   [CC] smsq.c -> smsq.o
   [LD] smsq.o strcompat.o -> smsq
strcompat.o: In function `_ast_malloc':
/usr/src/asterisk-certified-13.1-cert7/include/asterisk/utils.h:535: undefined reference to `_ast_mem_backtrace_buffer' /usr/src/asterisk-certified-13.1-cert7/include/asterisk/utils.h:535: undefined reference to `ast_log'
strcompat.o: In function `_ast_calloc':
/usr/src/asterisk-certified-13.1-cert7/include/asterisk/utils.h:559: undefined reference to `_ast_mem_backtrace_buffer' /usr/src/asterisk-certified-13.1-cert7/include/asterisk/utils.h:559: undefined reference to `ast_log'
strcompat.o: In function `_ast_realloc':
/usr/src/asterisk-certified-13.1-cert7/include/asterisk/utils.h:596: undefined reference to `_ast_mem_backtrace_buffer' /usr/src/asterisk-certified-13.1-cert7/include/asterisk/utils.h:596: undefined reference to `ast_log'
strcompat.o: In function `_ast_strdup':
/usr/src/asterisk-certified-13.1-cert7/include/asterisk/utils.h:624: undefined reference to `_ast_mem_backtrace_buffer' /usr/src/asterisk-certified-13.1-cert7/include/asterisk/utils.h:624: undefined reference to `ast_log'
strcompat.o: In function `_ast_strndup':
/usr/src/asterisk-certified-13.1-cert7/include/asterisk/utils.h:654: undefined reference to `_ast_mem_backtrace_buffer' /usr/src/asterisk-certified-13.1-cert7/include/asterisk/utils.h:654: undefined reference to `ast_log'
strcompat.o: In function `_ast_vasprintf':
/usr/src/asterisk-certified-13.1-cert7/include/asterisk/utils.h:694: undefined reference to `_ast_mem_backtrace_buffer' /usr/src/asterisk-certified-13.1-cert7/include/asterisk/utils.h:694: undefined reference to `ast_log'
strcompat.o: In function `_ast_calloc':
/usr/src/asterisk-certified-13.1-cert7/include/asterisk/utils.h:559: undefined reference to `_ast_mem_backtrace_buffer' /usr/src/asterisk-certified-13.1-cert7/include/asterisk/utils.h:559: undefined reference to `ast_log' /usr/src/asterisk-certified-13.1-cert7/include/asterisk/utils.h:559: undefined reference to `_ast_mem_backtrace_buffer' /usr/src/asterisk-certified-13.1-cert7/include/asterisk/utils.h:559: undefined reference to `ast_log'
strcompat.o: In function `_ast_realloc':
/usr/src/asterisk-certified-13.1-cert7/include/asterisk/utils.h:596: undefined reference to `_ast_mem_backtrace_buffer' /usr/src/asterisk-certified-13.1-cert7/include/asterisk/utils.h:596: undefined reference to `ast_log' /usr/src/asterisk-certified-13.1-cert7/include/asterisk/utils.h:596: undefined reference to `_ast_mem_backtrace_buffer' /usr/src/asterisk-certified-13.1-cert7/include/asterisk/utils.h:596: undefined reference to `ast_log'
strcompat.o: In function `_ast_calloc':
/usr/src/asterisk-certified-13.1-cert7/include/asterisk/utils.h:559: undefined reference to `_ast_mem_backtrace_buffer' /usr/src/asterisk-certified-13.1-cert7/include/asterisk/utils.h:559: undefined reference to `ast_log'
strcompat.o: In function `ast_str_set_va':
/usr/src/asterisk-certified-13.1-cert7/include/asterisk/strings.h:1014: undefined reference to `__ast_str_helper'
strcompat.o: In function `ast_str_append_va':
/usr/src/asterisk-certified-13.1-cert7/include/asterisk/strings.h:1032: undefined reference to `__ast_str_helper'
strcompat.o: In function `ast_str_set_va':
/usr/src/asterisk-certified-13.1-cert7/include/asterisk/strings.h:1014: undefined reference to `__ast_str_helper'
strcompat.o: In function `ast_str_append_va':
/usr/src/asterisk-certified-13.1-cert7/include/asterisk/strings.h:1032: undefined reference to `__ast_str_helper'
strcompat.o: In function `ast_str_set_substr':
/usr/src/asterisk-certified-13.1-cert7/include/asterisk/strings.h:1039: undefined reference to `__ast_str_helper2'
strcompat.o: In function `ast_str_append_substr':
/usr/src/asterisk-certified-13.1-cert7/include/asterisk/strings.h:1046: undefined reference to `__ast_str_helper2'
strcompat.o: In function `ast_str_set_escapecommas':
/usr/src/asterisk-certified-13.1-cert7/include/asterisk/strings.h:1053: undefined reference to `__ast_str_helper2'
strcompat.o: In function `ast_str_append_escapecommas':
/usr/src/asterisk-certified-13.1-cert7/include/asterisk/strings.h:1060: undefined reference to `__ast_str_helper2'
collect2: error: ld returned 1 exit status
../Makefile.rules:163: recipe for target 'smsq' failed
make: *** [smsq] Error 1


Years and years of installing binary packages have made my make-fu weak, but I've surmised that it's having trouble loading the asterisk.h library. To get this far, I modified smsq.h to specify the path of asterisk.h to say:

 #include "../include/asterisk.h"

But now I get the output we see above. Perhaps there's an easier way to make it find the include files it needs?

--
_____________________________________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com --
New to Asterisk? Join us for a live introductory webinar every Thurs:
              http://www.asterisk.org/hello

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
  http://lists.digium.com/mailman/listinfo/asterisk-users

Reply via email to