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

Jan Schneider jan at horde.org
Wed May 28 08:16:14 UTC 2014


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

> ----- Message from Jan Schneider <jan at horde.org> ---------
>    Date: Wed, 28 May 2014 09:57:27 +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: Simon Wilson <simon at simonandkate.net>
>      Cc: horde at lists.horde.org
>
>
>> 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
>
>
> ----- End message from Jan Schneider <jan at horde.org> -----
>
> It asks for zlib, libevent and libcurl. ALl of them I have installed.
>
> $ yum list zlib libevent libcurl
>
> Installed Packages
> libcurl.x86_64                                                        
>                               7.19.7-37.el6_4                         
>                                                              @updates
> libevent.x86_64                                                       
>                               1.4.13-4.el6                            
>                                                              @base
> zlib.x86_64                                                           
>                               1.2.3-29.el6                            
>                                                              @base
>
>
> --
> Simon Wilson
> M: 0400 12 11 16

What does the following get you:
php -r 'var_dump(http\Client::getAvailableDrivers());'

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



More information about the horde mailing list