[horde] [kronolith] Errors after upgrade to pecl_http 2 / Horde_Http 2.1.1

Jan Schneider jan at horde.org
Wed May 28 07:57:27 UTC 2014


Zitat von Simon Wilson <simon at simonandkate.net>:

> ----- Message from Jan Schneider <jan at horde.org> ---------
>    Date: Wed, 28 May 2014 08:37:16 +0200
>    From: Jan Schneider <jan at horde.org>
> Subject: Re: [horde] [kronolith] Errors after upgrade to pecl_http 2  
> / Horde_Http 2.1.1
>      To: horde at lists.horde.org
>
>
>> Zitat von "Jens-U. Mozdzen" <jmozdzen at nde.ag>:
>>
>>> Hi Simon & all,
>>>
>>> Zitat von Simon Wilson <simon at simonandkate.net>:
>>>> ----- Message from "Jens-U. Mozdzen" <jmozdzen at nde.ag> ---------
>>>> [...]
>>>>> What bothers me is: I've installed (over and over again)  
>>>>> pecl_http-2.0.6.tar, and looking at it's source code, I can see  
>>>>> that these constants are to be registered:
>>>>>
>>>>> --- cut here ---
>>>>> # grep -r AUTH_ANY pecl_http-2.0.6/
>>>>> ...
>>>>> pecl_http-2.0.6/php_http_client_curl.c:  
>>>>> REGISTER_NS_LONG_CONSTANT("http\\Client\\Curl", "AUTH_ANY",  
>>>>> CURLAUTH_ANY, CONST_CS|CONST_PERSISTENT);
>>>>> --- cut here ---
>>>>>
>>>>> But checking the freshly generated http.so file, I see no trace  
>>>>> of those constants:
>>>>>
>>>>> --- cut here ---
>>>>> # grep AUTH_ /usr/lib64/php5/extensions/http.so
>>>>> #
>>>>> --- cut here ---
>>>>>
>>>>> It is as if the file didn't get compiled or the macro  
>>>>> "REGISTER_NS_LONG_CONSTANT()" acted as a noop?!? The build log  
>>>>> of the PECL package shows no hint that anything went wrong:
>>>> [...]
>>>> At least it's not just me lol...
>>>
>>> nope, and that's what I wanted to let you know - I know that  
>>> feeling of loneliness too well :D
>>>
>>>> Jens, you look to have a far sounder understanding of this than  
>>>> me :) Are you going to take this up with the package maintainers?
>>>
>>> Not before someone who knows this works for them will confirm that  
>>> the symbols are in fact included in their http.so module.
>>>
>>> While I can look back on 30+ years of software development  
>>> experience, I still find many new and interesting subjects every  
>>> day. PHP is amongst those that are rather new to me, but not as  
>>> interesting as to justify spending days on learning how pecl  
>>> modules are to be built properly ;) So all I'm willing to offer is  
>>> sending a qualified report to the maintainer, which is based on a  
>>> confirmation that I should actually see those constants via "grep"  
>>> - else I'll make a fool of myself and waste the precious time of  
>>> the maintainer...
>>>
>>> Jan, could you jump in with a result of that grep from a  
>>> functional machine?
>>>
>>> Regards,
>>> Jens
>>
>> $ strings /usr/lib/php5/20121212/http.so | grep ANY
>> http\Client\Curl\AUTH_ANY
>> http\Client\Curl\HTTP_VERSION_ANY
>> http\Client\Curl\SSL_VERSION_ANY
>> http\Client\Curl\IPRESOLVE_ANY
>>
>> -- 
>> Jan Schneider
>
> This is the closest mine comes:
>
> $ strings /usr/lib64/php/modules/http.so | grep Client
> http\Client
> http\Client\%s
> http\Client\Request
> http\Client\Response
>
> Tried reinstalling again, still nothing.
>
> I have a full log from the pecl install Jens if that helps at some stage.
>
> Thanks Jan. Looks like the Horde libraries are relying on a package  
> that is broken in some situations... :-/
>
> Simon.
>
> --
> Simon Wilson
> M: 0400 12 11 16

Nooow we're getting somewhere. I slightly remember seeing some  
configuration input during the PECL installation that asks for the  
location of the curl libraries. Any chance that you didn't provide  
that location or that it was incorrect? I wonder why the extension  
still compiles then, or, if this is supposed to happen, why it is not  
documented anywhere that the feature set of pecl_http might depend on  
some libraries that have a have not installed.

-- 
Jan Schneider
The Horde Project
http://www.horde.org/
https://www.facebook.com/hordeproject



More information about the horde mailing list