<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Sep 23, 2014 at 10:11 AM, Paul Albrecht <span dir="ltr"><<a href="mailto:palbrecht@glccom.com" target="_blank">palbrecht@glccom.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5"><br>
On Sep 23, 2014, at 9:25 AM, Joshua Colp <<a href="mailto:jcolp@digium.com">jcolp@digium.com</a>> wrote:<br>
<br>
> Paul Albrecht wrote:<br>
>><br>
>> On Sep 22, 2014, at 3:47 PM, Joshua Colp <<a href="mailto:jcolp@digium.com">jcolp@digium.com</a><br>
>> <mailto:<a href="mailto:jcolp@digium.com">jcolp@digium.com</a>>> wrote:<br>
>><br>
>>> Paul Albrecht wrote:<br>
>>>><br>
>>>> Asterisk 13 beta2 compile fails:<br>
>>>><br>
>>>> .<br>
>>>> .<br>
>>>> .<br>
>>>> [CC] chan_pjsip.c -> chan_pjsip.o<br>
>>>> [CC] pjsip/dialplan_functions.c -> pjsip/dialplan_functions.o<br>
>>>> [LD] chan_pjsip.o pjsip/dialplan_functions.o -> chan_pjsip.so<br>
>>>> /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/../../../../x86_64-pc-linux-gnu/bin/ld:<br>
>>>> /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/../../../../lib64/libpjsip-ua-x86_64-pc-linux-gnu.a(sip_inv.o):<br>
>>>> relocation R_X86_64_32S against `.rodata' can not be used when making a<br>
>>>> shared object; recompile with -fPIC<br>
>>>> /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/../../../../lib64/libpjsip-ua-x86_64-pc-linux-gnu.a:<br>
>>>> could not read symbols: Bad value<br>
>>>> collect2: ld returned 1 exit status<br>
>>>> make[1]: *** [chan_pjsip.so] Error 1<br>
>>>> make: *** [channels] Error 2<br>
>>><br>
>>> Your environment does not seem have a suitable pjproject. It should not<br>
>>> be trying to link in any static. Did you follow the wiki to build<br>
>>> pjproject? Do you have an old install as well as a new?<br>
>><br>
>> Oops, my bad, I didn’t setup pjproject. However, the configure script<br>
>> didn’t complain so I assumed I was good to go and proceeded to make<br>
>> asterisk. Shouldn’t the configure script catch this and not allow<br>
>> someone to proceed to make? Thought that was a function of the configure<br>
>> script, that is, it verifies software dependancies before the build step.<br>
><br>
> The configure script checks for pjproject but it is not currently<br>
> specific enough to look for only shared. (Not sure off the top of my<br>
> head how we could make it)<br>
<br>
</div></div>So your response is that you agree the configure script should check for the pjproject  dependency, but you don’t know how to do that? Really?<br>
<span class=""><br></span></blockquote><div><br></div><div>Josh was trying to help. If you'd like to provide a patch to the configure script to make it more robust in detecting the shared object libraries, that would be appreciated. However, as Asterisk is installed on a wide variety of platforms, such solutions are often very difficult to craft correctly.<br></div><div><br>The configure script currently uses the AST_PKG_CONFIG_CHECK macro to verify pjproject is installed. That will use the output of pkg-config to verify whether or not the shared object libraries are installed. If, for whatever reason, that returns success, then I would expect chan_pjsip to enabled.<br><br></div><div>The config.log would illustrate why it returned success in your case.<br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">
><br>
>> Another thing â€¦ the README int the top level directory doesn’t seem to<br>
>> have been updated in a while and doesn’t mention pjproject. If there’s<br>
>> an external requirement like pjproject shouldn’t that go in the README?<br>
><br>
> These days almost everything is documented on the wiki. The README<br>
> itself only covers the basics to get Asterisk up and going. It could be<br>
> extended to include dependencies for the various things.<br>
<br>
</span>The README no longer "covers the basics" to get asterisk up and running because it doesn’t mention pjproject, which is now a required external dependency.  If you don’t think the README file is the right place for installation instructions, why not add an â€œINSTALL” file in the top level directory like other projects?<br clear="all"></blockquote></div><br></div><div class="gmail_extra">That isn't what Josh said. pjproject is not a required external dependency. You can run Asterisk just fine without it.<br><br></div><div class="gmail_extra">As for the suggestion of adding an INSTALL file: this is really just the same as a README. Personally, we've found that the wiki provides a good place to collect that information. Major items are still listed in the README; as pjproject is not required for Asterisk, I'm not sure it has to be there.<br><br></div><div class="gmail_extra">Matt<br></div><div class="gmail_extra"><br>-- <br><div dir="ltr"><div>Matthew Jordan<br></div><div>Digium, Inc. | Engineering Manager</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>