[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