<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Dec 31, 2015 at 6:20 AM, Boobalan M <span dir="ltr"><<a href="mailto:boobalan.mb@plintron.com" target="_blank">boobalan.mb@plintron.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">









<div link="blue" vlink="purple" lang="EN-US">

<div>

<p class="MsoNormal">Hi Team,<u></u><u></u></p>

<p class="MsoNormal"><u></u> <u></u></p>

<p class="MsoNormal">We are encountering below issue often when try to make
asterisk up.<u></u><u></u></p>

<p class="MsoNormal"><u></u> <u></u></p>

<p class="MsoNormal">"<u></u><u></u></p>

<p class="MsoNormal">[Dec 31 13:31:35] WARNING[17782]: loader.c:553
load_dynamic_module: Error loading module 'app_voicemail.so':
/usr/lib64/asterisk/modules/app_voicemail.so: <span style="background:yellow none repeat scroll 0% 0%">undefined symbol: ast_say_date_with_format</span><u></u><u></u></p>

<p class="MsoNormal">"<u></u><u></u></p>

<p class="MsoNormal"><u></u> <u></u></p>

<p class="MsoNormal">This issue we can able to solve rebuilding whole asterisk
only. But some times, rebuild also doesn't work.<u></u><u></u></p>

<p class="MsoNormal"><u></u> <u></u></p>

<p class="MsoNormal">Both Asterisk logs and symbols details of one of the modules(<span style="background:yellow none repeat scroll 0% 0%">app_voicemail.so</span>) from
error list are attached.<u></u><u></u></p>

<p class="MsoNormal"><u></u> <u></u></p>

<p class="MsoNormal">We could see “<span style="background:yellow none repeat scroll 0% 0%">ast_say_date_with_format</span>” is marked as
undefined . This we are saying from “<span style="background:yellow none repeat scroll 0% 0%">nm --demangle app_voicemail.so</span>” output. But I
am not sure why it often comes.<u></u><u></u></p>

<p class="MsoNormal"><u></u> <u></u></p>

<p class="MsoNormal">Can you please suggestion on this to sort it out since we
are facing this issue very often.<u></u><u></u></p>

<p class="MsoNormal"><u></u> <u></u></p>

</div></div></blockquote><div><br></div><div>ast_say_date_with_format is a function pointer, defined in say.h:<br><br>SAY_EXTERN int (* ast_say_date_with_format)(struct ast_channel *chan, time_t t, const char *ints, const char *lang, const char *format, const char *timezone) SAY_INIT(ast_say_date_with_format);<br><br></div><div>As the documentation in that header file explains, a module must assign these function pointers if they wish to change the default functionality from the internal implementation in say.c. You'll note that this is done by a constructor function in say.c:<br><br>/*! \brief<br> * remap the 'say' functions to use those in this file<br> */<br>static void __attribute__((constructor)) __say_init(void)<br>{<br>    ast_say_number_full = say_number_full;<br>    ast_say_enumeration_full = say_enumeration_full;<br>    ast_say_digit_str_full = say_digit_str_full;<br>    ast_say_character_str_full = say_character_str_full;<br>    ast_say_phonetic_str_full = say_phonetic_str_full;<br>    ast_say_datetime = say_datetime;<br>    ast_say_time = say_time;<br>    ast_say_date = say_date;<br>    ast_say_datetime_from_now = say_datetime_from_now;<br>    ast_say_date_with_format = say_date_with_format;<br>}<br><br></div><div>As well, if loaded, app_playback will override this in its say_init_mode function. This allows it to change the hardcoded 'say' functions in the core with the functionality provided by say.conf.<br><br></div><div>All of this is to say: ast_say_date_with_format is absolutely a defined function pointer. I'm not sure what compiler you're using, what you've modified, or how you're building Asterisk, but in all the tens of thousands of builds I've seen done with both gcc and clang, I've never seen either compiler have a problem finding the declaration of this function pointer.<br><br></div><div>The fact that your Errors.txt file is littered with many other symbol resolution issues makes me think that you have 'tweaked' something, attempted to build on a very non-standard platform, or are otherwise operating outside the bounds of the usual build system.<br></div></div><br></div><div class="gmail_extra">Matt<br clear="all"></div><div class="gmail_extra"><br>-- <br><div class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div>Matthew Jordan<br></div><div>Digium, Inc. | Director of Technology<br></div><div>445 Jan Davis Drive NW - Huntsville, AL 35806 - USA</div><div>Check us out at: <a href="http://digium.com" target="_blank">http://digium.com</a> & <a href="http://asterisk.org" target="_blank">http://asterisk.org</a></div></div></div></div></div>
</div></div>