Thanks a lot Matthew, i was not sure about snd_spcm_init in AST_EXT_LIB_CHECK. I managed to resolve my issue through another way, but this information will definitely be useful to me in the future. I will be specific with my issues next time.<br>
<br><div class="gmail_quote">On Mon, Jul 9, 2012 at 12:29 AM, Matthew  Jordan <span dir="ltr">&lt;<a href="mailto:mjordan@digium.com" target="_blank">mjordan@digium.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><br>
<br>
----- Original Message -----<br>
<br>
&gt; From: &quot;Usman Raza&quot; &lt;<a href="mailto:usman.r123@gmail.com" target="_blank">usman.r123@gmail.com</a>&gt;<br>
&gt; To: &quot;Asterisk Developers Mailing List&quot;<br>
&gt; &lt;<a href="mailto:asterisk-dev@lists.digium.com" target="_blank">asterisk-dev@lists.digium.com</a>&gt;<br>
</div>&gt; Sent: Sunday, July 8, 2012 12:28:54 PM<br>
<div>&gt; Subject: Re: [asterisk-dev] Asterisk module compile<br>
<br>
</div><div>&gt; I was unable to load the module due to undefined symbol error on<br>
&gt; functions i have defined in ringbuffer.h. Following the asterisk<br>
&gt; build system now, could you tell me about AST_EXT_LIB_CHECK<br>
&gt; arguments in <a href="http://configure.ac" target="_blank">configure.ac</a> file? Thanks.<br>
<br>
</div>I&#39;m not entirely sure what you mean by &quot;tell me about AST_EXT_LIB_CHECK&quot;.  I&#39;ll<br>
try to explain it as best I can using the ALSA example that the wiki page refers<br>
to, but it may not be applicable to your problem.<br>
<br>
If we look at a generated makeopts, we may find the following for ALSA:<br>
<br>
ALSA_INCLUDE=<br>
ALSA_LIB= -lasound -lm -ldl<br>
<br>
Those two particular definitions come from <a href="http://makeopts.in" target="_blank">makeopts.in</a>, which - if you followed<br>
the wiki - were added previously.  But where did the library checks come from?<br>
<br>
This is where AST_EXT_LIB_CHECK comes into play.  Going to <a href="http://configure.ac" target="_blank">configure.ac</a> and<br>
searching for ALSA, you&#39;ll find the following:<br>
<br>
AST_EXT_LIB_CHECK([ALSA], [asound], [snd_spcm_init], [alsa/asoundlib.h], [-lm -ldl])<br>
<br>
AST_EXT_LIB_CHECK specifies how the configure script will determine if the<br>
library exists, and, if it does, what additional libraries will be linked during<br>
compilation.  Continuing with the ALSA example, we have the following:<br>
<br>
ALSA: The prefix specifier that ties the information in the various build system<br>
      files together<br>
asound: The actual name of the external library to look for<br>
snd_spcm_init: A symbol to look for to verify that the library located is<br>
               correct.  In this case, during execution of the configure script,<br>
               the symbol &#39;snd_spcm_init&#39; will be looked for in the library<br>
               &#39;asound&#39;.  If the symbol does not exist, the external library<br>
               check will fail.<br>
alsa/asoundlib.h: The header files for the library<br>
-lm -ldl: Optional additional linking flags passed in when the asound library is<br>
          linked<br>
<br>
So that explains where ALSA_LIB came from - its the external library to be<br>
linked (asound), plus the extra linking flags specified in AST_EXT_LIB_CHECK<br>
(-lm -ldl).  If you open a generated configure script, you can walk through<br>
exactly how it uses these symbols to perform the external library check for the<br>
Advanced Linux Sound Architecture.<br>
<br>
Keep in mind that modules with a dependency (in this case, chan_alsa) should<br>
automatically pick up the required compilation include/linking flags when they<br>
are built, by virtue of the generated Menuselect dependency information.  You<br>
obviously need to specify this in the MODULEINFO section for that module, as<br>
the wiki page notes.<br>
<br>
I hope this information is useful for you.  Since you haven&#39;t asked specific<br>
questions or provided error messages to go on, it very well may not be what you<br>
were looking for.  In the future, when asking questions on the mailing list,<br>
please try to be as specific as possible, including as much information as<br>
possible.  Otherwise, you may not get the answers you want, if you get an<br>
answer at all.<br>
<br>
Thanks,<br>
<div><div><br>
--<br>
Matthew Jordan<br>
Digium, Inc. | Software Developer<br>
445 Jan Davis Drive NW - Huntsville, AL 35806 - USA<br>
Check us out at: <a href="http://digium.com" target="_blank">http://digium.com</a> &amp; <a href="http://asterisk.org" target="_blank">http://asterisk.org</a><br>
<br>
--<br>
_____________________________________________________________________<br>
-- Bandwidth and Colocation Provided by <a href="http://www.api-digital.com" target="_blank">http://www.api-digital.com</a> --<br>
<br>
asterisk-dev mailing list<br>
To UNSUBSCRIBE or update options visit:<br>
   <a href="http://lists.digium.com/mailman/listinfo/asterisk-dev" target="_blank">http://lists.digium.com/mailman/listinfo/asterisk-dev</a><br>
</div></div></blockquote></div><br>