On Sep 23, 2014, at 12:22 PM, Matthew Jordan <[email protected]> wrote:

> 
> 
> On Tue, Sep 23, 2014 at 11:19 AM, Paul Albrecht <[email protected]> wrote:
> 
> On Sep 23, 2014, at 10:24 AM, Matthew Jordan <[email protected]> wrote:
> 
>> 
>> 
>> On Tue, Sep 23, 2014 at 10:11 AM, Paul Albrecht <[email protected]> wrote:
>> 
>> On Sep 23, 2014, at 9:25 AM, Joshua Colp <[email protected]> wrote:
>> 
>> > Paul Albrecht wrote:
>> >>
>> >> On Sep 22, 2014, at 3:47 PM, Joshua Colp <[email protected]
>> >> <mailto:[email protected]>> wrote:
>> >>
>> >>> Paul Albrecht wrote:
>> >>>>
>> >>>> Asterisk 13 beta2 compile fails:
>> >>>>
>> >>>> .
>> >>>> .
>> >>>> .
>> >>>> [CC] chan_pjsip.c -> chan_pjsip.o
>> >>>> [CC] pjsip/dialplan_functions.c -> pjsip/dialplan_functions.o
>> >>>> [LD] chan_pjsip.o pjsip/dialplan_functions.o -> chan_pjsip.so
>> >>>> /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/../../../../x86_64-pc-linux-gnu/bin/ld:
>> >>>> /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/../../../../lib64/libpjsip-ua-x86_64-pc-linux-gnu.a(sip_inv.o):
>> >>>> relocation R_X86_64_32S against `.rodata' can not be used when making a
>> >>>> shared object; recompile with -fPIC
>> >>>> /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/../../../../lib64/libpjsip-ua-x86_64-pc-linux-gnu.a:
>> >>>> could not read symbols: Bad value
>> >>>> collect2: ld returned 1 exit status
>> >>>> make[1]: *** [chan_pjsip.so] Error 1
>> >>>> make: *** [channels] Error 2
>> >>>
>> >>> Your environment does not seem have a suitable pjproject. It should not
>> >>> be trying to link in any static. Did you follow the wiki to build
>> >>> pjproject? Do you have an old install as well as a new?
>> >>
>> >> Oops, my bad, I didn’t setup pjproject. However, the configure script
>> >> didn’t complain so I assumed I was good to go and proceeded to make
>> >> asterisk. Shouldn’t the configure script catch this and not allow
>> >> someone to proceed to make? Thought that was a function of the configure
>> >> script, that is, it verifies software dependancies before the build step.
>> >
>> > The configure script checks for pjproject but it is not currently
>> > specific enough to look for only shared. (Not sure off the top of my
>> > head how we could make it)
>> 
>> 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?
>> 
>> 
>> 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.
>> 
>> 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.
>> 
>> The config.log would illustrate why it returned success in your case.
> 
> 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. 
> 
> 
> That isn't how the Asterisk project works.
> 
> First, if this really was just a 'bug report', then as Jason pointed out, the 
> appropriate place to go is issues.asterisk.org. 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.
> 
> 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.
> 
> 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.
> 
> 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.
>  
>>  
>> >
>> >> Another thing … the README int the top level directory doesn’t seem to
>> >> have been updated in a while and doesn’t mention pjproject. If there’s
>> >> an external requirement like pjproject shouldn’t that go in the README?
>> >
>> > These days almost everything is documented on the wiki. The README
>> > itself only covers the basics to get Asterisk up and going. It could be
>> > extended to include dependencies for the various things.
>> 
>> 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?
>> 
>> That isn't what Josh said. pjproject is not a required external dependency. 
>> You can run Asterisk just fine without it.
> 
> 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.
> 
> 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.

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.

> 
> To install Asterisk without pjproject:
> 
> (1) Don't install pjproject
> (2) ./configure
> (3) make
> (4) make install
> 
> 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.
>  

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.

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

> Matt
> 
> -- 
> Matthew Jordan
> Digium, Inc. | Engineering Manager
> 445 Jan Davis Drive NW - Huntsville, AL 35806 - USA
> Check us out at: http://digium.com & http://asterisk.org
> -- 
> _____________________________________________________________________
> -- Bandwidth and Colocation Provided by http://www.api-digital.com --
> 
> asterisk-dev mailing list
> To UNSUBSCRIBE or update options visit:
>   http://lists.digium.com/mailman/listinfo/asterisk-dev

-- 
_____________________________________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com --

asterisk-dev mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/asterisk-dev

Reply via email to