<html><head><meta http-equiv="Content-Type" content="text/html charset=windows-1252"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><br><div><div>On Sep 23, 2014, at 12:22 PM, Matthew Jordan <<a href="mailto:mjordan@digium.com">mjordan@digium.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Sep 23, 2014 at 11:19 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 style="word-wrap:break-word"><br><div><div><div class="h5"><div>On Sep 23, 2014, at 10:24 AM, Matthew Jordan <<a href="mailto:mjordan@digium.com" target="_blank">mjordan@digium.com</a>> wrote:</div><br><blockquote type="cite"><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><br>
On Sep 23, 2014, at 9:25 AM, Joshua Colp <<a href="mailto:jcolp@digium.com" target="_blank">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" target="_blank">jcolp@digium.com</a><br>
>> <mailto:<a href="mailto:jcolp@digium.com" target="_blank">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>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><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></div></blockquote><div><br></div></div></div><div>I’m just a user reporting a bug and I don’t care why the asterisk configure script doesn’t work. You’re the engineering manager so you can prioritize problems or define them out of existence as you see fit. </div><span class=""><br></span></div></div></blockquote><div><br></div><div>That isn't how the Asterisk project works.<br><br></div><div>First, if this really was just a 'bug report', then as Jason pointed out, the appropriate place to go is <a href="http://issues.asterisk.org/">issues.asterisk.org</a>. If that's the case, then we can continue the troubleshooting there. I'm inclined to think that Josh's initial assessment is correct: you have a version of pjproject installed on your system that has static libraries but not the dynamic libraries. It would be interesting to see what the config.log spat out. If you feel that's worthy of a bug report, then please go make an issue on the issue tracker and attach the config.log there, along with sufficient steps to reproduce the configuration issue on a different machine.<br><br></div><div>Beyond that, I don't make any decision about what the developers in the Asterisk project choose to fix or provide patches for. That is up to each individual developer. If someone wants to provide a patch for the build system that makes it better in some regard, that's great. Generally, if someone provides a patch with an issue, those issues tend to get fixed faster.<br><br>As the project lead, the only time I would weigh in is when there is disagreement over a proposed patch. Those situations are very rare.<br><br></div><div>I do have some influence on what Digium developers do with respect to the Asterisk project, but that has no bearing on what others choose to do.<br></div><div></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><span class=""><blockquote type="cite"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span>
><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></div></div></blockquote><div><br></div></span><div>No, you can’t run asterisk without pjproject. I know because I’ve tried. If you think you can, please provide me with a detailed set instructions for doing so because I’d like to try that.</div></div></blockquote><div><br></div><div>Without more information, I'm not sure what you are referring to. Potentially, you may be referring to a bug in Asterisk 13.0.0-beta1 where one of the modules (res_hep_rtcp) would get annoyed if pjproject wasn't installed. That was fixed in 13.0.0-beta2.<br></div></div></div></div></blockquote><div><br></div><div>I installed beta1 on a system running linux gentoo-3.3.4 with pjsip-2.1 when it was released last month. Everything worked or seemed to perhaps because I was only using chan sip. When beta2 was released this week I tried to install it and everything fell apart. Since the system library wasn’t working I installed pjproject cloned from github and then everything was good. The explanation for this is that the gentoo system library is static whereas the library built from github source is shared.</div><br><blockquote type="cite"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div><br>To install Asterisk without pjproject:<br><br></div><div>(1) Don't install pjproject<br></div><div>(2) ./configure<br></div><div>(3) make<br></div><div>(4) make install<br><br></div><div>If pjproject isn't on the system, and you run into a compilation problem, then I'd be curious what the issue was. Again, more information illustrating the problem (config logs, make NOISY_BUILD=yes output, etc.) would be helpful.</div><div> <span class=""><br></span></div></div></div></div></blockquote><div><br></div><div>I deinstalled both the static and shared pjsip libraries that were installed on my system. When I configure/menuconfig/make’ed beta1 I got the compiler error on the res_hep_rtcp module. When I configure/menuconfig/make’ed beta2 everything worked.</div><div><br></div><div>Not sure I understand what happened going from beta1 to beta2. Why did it work in the first place if the library must be shared? I guess I don’t really care since everything’s good now. However, I’m not sure it’s a good idea to assume that if you have pjsip installed you’re good to go, that is, a configure option like disable-pjsip would be helpful in the unlikely case where you have the library installed for some other reason</div><br><blockquote type="cite"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div><span class="">Matt<br></span></div></div></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>
-- <br>_____________________________________________________________________<br>-- Bandwidth and Colocation Provided by <a href="http://www.api-digital.com">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">http://lists.digium.com/mailman/listinfo/asterisk-dev</a></blockquote></div><br></body></html>