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

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


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

> ----- Message from Jan Schneider <jan at horde.org> ---------
>    Date: Wed, 28 May 2014 10:16:14 +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 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
>
> PHP Fatal error:  Class 'http\Client' not found in Command line code  
> on line 1
>
> Simon.
>
> --
> Simon Wilson
> M: 0400 12 11 16

Again, you don't even have http 2.0.x installed or a completely borked  
system. Anyway, this has nothing to do with Horde, so please take this  
to a more suitable place.

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



More information about the horde mailing list