diff -uNr a/config.h.in b/config.h.in --- a/config.h.in 2013-07-02 17:41:03.715261748 +0000 +++ b/config.h.in 2013-07-02 17:41:21.707260667 +0000 @@ -3,6 +3,9 @@ /* Define to 1 if you have the header file. */ #undef HAVE_DLFCN_H +/* Define to 1 if you have the header file. */ +#undef HAVE_EXECINFO_H + /* Define to 1 if you have the header file. */ #undef HAVE_INTTYPES_H diff -uNr a/configure.ac b/configure.ac --- a/configure.ac 2013-07-02 17:41:03.715261748 +0000 +++ b/configure.ac 2013-07-02 17:41:21.719260666 +0000 @@ -181,6 +181,8 @@ AC_CHECK_FUNC(signalfd, dummy=yes, AC_MSG_ERROR(signalfd support is required)) +AC_CHECK_HEADERS([execinfo.h], [], []) + AC_CHECK_LIB(dl, dlopen, dummy=yes, AC_MSG_ERROR(dynamic linking loader is required)) diff -uNr a/src/log.c b/src/log.c --- a/src/log.c 2013-07-02 17:41:03.727261747 +0000 +++ b/src/log.c 2013-07-02 17:42:12.717257603 +0000 @@ -30,7 +30,9 @@ #include #include #include +#ifdef HAVE_EXECINFO_H #include +#endif #include #include "connman.h" @@ -112,6 +114,7 @@ static void print_backtrace(unsigned int offset) { +#ifdef HAVE_EXECINFO_H void *frames[99]; size_t n_ptrs; unsigned int i; @@ -210,6 +213,7 @@ close(outfd[1]); close(infd[0]); +#endif } static void signal_handler(int signo)