Anyone against requiring libxml2 2.6.x for PHP 5.1?

php.internals

Christian Stocker

21 years ago
Hi Anyone against requiring libxml2 2.6.x for PHP 5.1? There are new features in 5.1, which only run with 2.6 (the new error handling system, for example, or proper namespace support for SAX). Those are currently ifdef'd, but it definitively would make the life of the XML maintainers a lot easier, if we could just throw away all < 2.6 code ;) Furthermore, ext/soap already requires 2.6.3. If noone disagrees, we'll bump up the version number in the configure check and discard support for 2.5. chregu
-- christian stocker | Bitflux GmbH | schoeneggstrasse 5 | ch-8004 zurich phone +41 1 240 56 70 | mobile +41 76 561 88 60 | fax +41 1 240 56 71 http://www.bitflux.ch | chregu@bitflux.ch | gnupg-keyid 0x5CE1DECB

Adam Maccabee Trachtenberg

21 years ago
On Sun, 13 Feb 2005, Christian Stocker wrote:
> There are new features in 5.1, which only run with 2.6 (the new error > handling system, for example, or proper namespace support for SAX). > Those are currently ifdef'd, but it definitively would make the life of > the XML maintainers a lot easier, if we could just throw away all < 2.6 > code ;)
I don't see anything wrong with this, as libxml 2.6.0 came out in October 2003. Of course, Debian stable still bundles 2.4.19, which is from March 2002. -adam
-- adam@trachtenberg.com | http://www.trachtenberg.com author of o'reilly's "upgrading to php 5" and "php cookbook" avoid the holiday rush, buy your copies today!

Christian Stocker

21 years ago
On 13.2.2005 18:19 Uhr, Adam Maccabee Trachtenberg wrote:
> On Sun, 13 Feb 2005, Christian Stocker wrote: > > >>There are new features in 5.1, which only run with 2.6 (the new error >>handling system, for example, or proper namespace support for SAX). >>Those are currently ifdef'd, but it definitively would make the life of >>the XML maintainers a lot easier, if we could just throw away all < 2.6 >>code ;) > > > I don't see anything wrong with this, as libxml 2.6.0 came out in > October 2003. Of course, Debian stable still bundles 2.4.19, which is > from March 2002.
Which is still less than 2.5.11, which is required for 5.0. Therefore Debian Stable people had to face this problem already with 5.0 ;) Debian Testing has 2.6.11 and as we all know, Testing becomes stable "really soon" ;) chregu
> > -adam >
-- christian stocker | Bitflux GmbH | schoeneggstrasse 5 | ch-8004 zurich phone +41 1 240 56 70 | mobile +41 76 561 88 60 | fax +41 1 240 56 71 http://www.bitflux.ch | chregu@bitflux.ch | gnupg-keyid 0x5CE1DECB

Adam Maccabee Trachtenberg

21 years ago
On Sun, 13 Feb 2005, Christian Stocker wrote:
> Which is still less than 2.5.11, which is required for 5.0. Therefore > Debian Stable people had to face this problem already with 5.0 ;)
Fair enough. Asking people to upgrade to 2.6.x vs 2.5.11 is minor. -adam
-- adam@trachtenberg.com | http://www.trachtenberg.com author of o'reilly's "upgrading to php 5" and "php cookbook" avoid the holiday rush, buy your copies today!

Andi Gutmans

21 years ago
What's the status of 2.6.x in Linux distributions? Is it already standard in the latest SUSE/Redhat distros? Andi At 12:34 PM 2/13/2005 -0500, Adam Maccabee Trachtenberg wrote:

Christian Schneider

21 years ago
Andi Gutmans wrote:
> What's the status of 2.6.x in Linux distributions? Is it already > standard in the latest SUSE/Redhat distros?
SuSE 8.1: libxml2-2.4.23 SuSE 8.2: libxml2-2.5.3 SuSE 9.0: libxml2-2.5.10 SuSE 9.1: libxml2-2.6.7 SuSE 9.2: libxml2-2.6.12 I'd say that at least SuSE 8.2 and 9.0 are still quite common though. - Chris

Wez Furlong

21 years ago
I was talking with George about this at lunch today. If we really really do require the new version, then we should add a configure check to enforce it, otherwise we should use appropriate #ifdefs. Why? Everytime we go to upgrade PHP, we find that we need to upgrade libxml2 as well. While it's fine for PHP to use that, what about other packages that also require libxml2? The paranoid sysadmin inside us feels reluctant/worried at that prospect. We (PHP) have had a similar issue with libcurl requirements in the past too, to the point where I just stopped enabling it (things were worse there though, as the download from sf.net was really unpredictable and made it very difficult to get hold of the latest and greatest). So, my 2 cents are: if it's too much trouble to maintain those ifdefs, bump the minimum requirements, otherwise, let's try to keep it flexible. --Wez. On Tue, 15 Feb 2005 02:01:13 +0100, Christian Schneider <cschneid@cschneid.com> wrote:

Adam Maccabee Trachtenberg

21 years ago
On Mon, 14 Feb 2005, Wez Furlong wrote:
> I was talking with George about this at lunch today. If we really > really do require the new version, then we should add a configure > check to enforce it, otherwise we should use appropriate #ifdefs.
Agreed. If we're requiring it, we need to modify the configure check.
> So, my 2 cents are: if it's too much trouble to maintain those ifdefs, > bump the minimum requirements, otherwise, let's try to keep it > flexible.
libxml2 is on a release monthly schedule. There are always new versions coming out. This is how they deal with fixes and patches. Part of the reason (I believe) Christian wants 2.6.x is to deal with certain features that aren't in the 2.5.x feature set, and that's probably also why ext/soap needs 2.6.3. -adam
-- adam@trachtenberg.com | http://www.trachtenberg.com author of o'reilly's "upgrading to php 5" and "php cookbook" avoid the holiday rush, buy your copies today!

Christian Stocker

21 years ago
On 15.2.2005 2:37 Uhr, Wez Furlong wrote:
> I was talking with George about this at lunch today. If we really > really do require the new version, then we should add a configure > check to enforce it, otherwise we should use appropriate #ifdefs.
The configure check was always in place (even during php 4 times). It's just currently wrong in HEAD, as it's not decided, which version we support ;) (and ext/soap is another chapter) We can of course ifdef it out, but there are in my opinion different reasons for not going further that road. * No current known distro supports 2.5.11, they are either below that or already at 2.6 * It's not only the ifdef'ing, but also the testing, which is a pain. We have to compile and link all the time against 2.5 and 2.6 if we want to support both. Given our limited resources, stuff like the current it-s-not-compiling-on-2.5, will always happen. The latest patches are ifdef'ed, but obviously not everywhere. * Support and Documentation. If some DOM or XML features in PHP are only available, if you have libxml 2.6, that does make documentation more complicated and confuse people. And some things still do not work properly in 2.5, like namespaces in SAX. * New features, easier programming, improved (but BC) API. chregu
> > Why? > > Everytime we go to upgrade PHP, we find that we need to upgrade > libxml2 as well. While it's fine for PHP to use that, what about > other packages that also require libxml2? The paranoid sysadmin > inside us feels reluctant/worried at that prospect. > > We (PHP) have had a similar issue with libcurl requirements in the > past too, to the point where I just stopped enabling it (things were > worse there though, as the download from sf.net was really > unpredictable and made it very difficult to get hold of the latest and > greatest). > > So, my 2 cents are: if it's too much trouble to maintain those ifdefs, > bump the minimum requirements, otherwise, let's try to keep it > flexible. > > --Wez. > > On Tue, 15 Feb 2005 02:01:13 +0100, Christian Schneider > <cschneid@cschneid.com> wrote: > >>Andi Gutmans wrote: >> >>>What's the status of 2.6.x in Linux distributions? Is it already >>>standard in the latest SUSE/Redhat distros? >> >>SuSE 8.1: libxml2-2.4.23 >>SuSE 8.2: libxml2-2.5.3 >>SuSE 9.0: libxml2-2.5.10 >>SuSE 9.1: libxml2-2.6.7 >>SuSE 9.2: libxml2-2.6.12 >> >>I'd say that at least SuSE 8.2 and 9.0 are still quite common though. >> >>- Chris >> >>-- >>PHP Internals - PHP Runtime Development Mailing List >>To unsubscribe, visit: http://www.php.net/unsub.php >> >> > >
-- christian stocker | Bitflux GmbH | schoeneggstrasse 5 | ch-8004 zurich phone +41 1 240 56 70 | mobile +41 76 561 88 60 | fax +41 1 240 56 71 http://www.bitflux.ch | chregu@bitflux.ch | gnupg-keyid 0x5CE1DECB

Rob Richards

21 years ago
Just to clarify soap. Soap will work under 2.6.0. I still have 2.6.3 stuck in my head, but it may just be due to the fact that the windows build system is messed up for the early versions (can't really remember why I think 2.6.3 as a minimum version though). I don't mind the ifdef'ing as much as the other issues that exist: - soap requiring 2.6.x. If its part of the core, it should only require the libxml version defined for the libxml config. - There are some differences between 2.5 and 2.6. Under PHP 5 we were able to work around some of these by adding functionality. It's more noticeable under PHP 4 where the behavior has changed and without altering the API of domxml, certain things just wont work. - Testing and tracking down bugs is a big PITA due to the differences between 2.5 and 2.6 To touch on Wez's comment about always requiring new versions. Prior to the 5.0 release a few people wanted to require 2.6 as the base version. I was dead against this due to 2.6 being quite new. At that point I opted for stability as 2.5.10 was very stable and carried by a lot of the distros. It's not that every new PHP version will be requiring a newer libxml, its just that differences betwwen 2.5 and 2.6 are very substantial (not to mention the new functionality that has been added). I think the xml developers can deal with 2.6.x as a base version without having to require further version upgrades. Yes, there may be recommened minimum versions for whatever reason (security, stability, etc..), but at least for the xml extensions in core, 2.6 offers everything needed to allow for rich xml technologies. Anything requiring newer versions can easily live in PECL and require whatever version they like. As time goes on and 2.6.x becomes outdated and the distros arent even bothing with that version anymore then it may possibly make sense to upgrade the minimum version, but I dont see anything in the immediate future that is going to require further version upgrades. And for RHEL customers. They can always grab the rpms from xmlsoft. I would assume - but not guarantee :) - the rpms are built against that since Daniel is an employee of RedHat. Rob Christian Stocker wrote:

Dan Scott

21 years ago
On Tue, 15 Feb 2005 09:00:24 -0500, Rob Richards <rrichards@ctindustries.net> wrote: <snip>
> And for RHEL customers. They can always grab the rpms from xmlsoft. I > would assume - but not guarantee :) - the rpms are built against that > since Daniel is an employee of RedHat.
RHEL 4 (released today) ships libxml2 2.6.16, so not all RHEL customers would need the xmlsoft RPMs :) Dan

Mike Robinson

21 years ago
I believe Debian and Fedora (Core 3) is up to 2.6.11 or better. IMHO requiring 2.6.x isn't too much of a stretch. mike

Wez Furlong

21 years ago
Meanwhile, RHEL customers are on libxml2-2.5.10-6. --Wez. On Mon, 14 Feb 2005 20:14:01 -0500, Mike Robinson <mike@fiddy8.com> wrote:

Adam Maccabee Trachtenberg

21 years ago
Well, that's below 2.5.11, which is what we currently require, so those folks are already out of luck. Meanwhile, Mac OS 10.4 is at 2.6.16, so that's okay. I don't have a 10.3 machine with me here at LinuxWorld, so I can't check that. -adam On Mon, 14 Feb 2005, Wez Furlong wrote:
> Meanwhile, RHEL customers are on libxml2-2.5.10-6. > > --Wez. > > On Mon, 14 Feb 2005 20:14:01 -0500, Mike Robinson <mike@fiddy8.com> wrote: > > I believe Debian and Fedora (Core 3) is up to 2.6.11 or better. > > IMHO requiring 2.6.x isn't too much of a stretch. > >
-- adam@trachtenberg.com | http://www.trachtenberg.com author of o'reilly's "upgrading to php 5" and "php cookbook" avoid the holiday rush, buy your copies today!

Rasmus Lerdorf

21 years ago
Adam Maccabee Trachtenberg wrote:
> Well, that's below 2.5.11, which is what we currently require, so > those folks are already out of luck. > > Meanwhile, Mac OS 10.4 is at 2.6.16, so that's okay. I don't have a > 10.3 machine with me here at LinuxWorld, so I can't check that.
2.6.7 in 10.3.8 and 2.6.11 in Fink. -Rasmus

D . Walsh

21 years ago
On Feb 14, 2005, at 23:49, Adam Maccabee Trachtenberg wrote:
> Well, that's below 2.5.11, which is what we currently require, so > those folks are already out of luck. > > Meanwhile, Mac OS 10.4 is at 2.6.16, so that's okay. I don't have a > 10.3 machine with me here at LinuxWorld, so I can't check that.
OSX 10.3 is at 2.5.4
> -adam > > On Mon, 14 Feb 2005, Wez Furlong wrote: > >> Meanwhile, RHEL customers are on libxml2-2.5.10-6. >> >> --Wez. >> >> On Mon, 14 Feb 2005 20:14:01 -0500, Mike Robinson <mike@fiddy8.com> >> wrote: >>> I believe Debian and Fedora (Core 3) is up to 2.6.11 or better. >>> IMHO requiring 2.6.x isn't too much of a stretch. >> >> > > -- > adam@trachtenberg.com | http://www.trachtenberg.com
-- Dale

Rasmus Lerdorf

21 years ago
D.Walsh wrote:
> > On Feb 14, 2005, at 23:49, Adam Maccabee Trachtenberg wrote: > >> Well, that's below 2.5.11, which is what we currently require, so >> those folks are already out of luck. >> >> Meanwhile, Mac OS 10.4 is at 2.6.16, so that's okay. I don't have a >> 10.3 machine with me here at LinuxWorld, so I can't check that. > > > OSX 10.3 is at 2.5.4
At the same time, why would people on older operating systems who are obviously quite conservative when it comes to upgrading suddenly try to upgrade to the very latest PHP? As long as we don't move the goalposts beyond the latest releases of the various main operating systems I think we are fine. -Rasmus

Ryan King

21 years ago
On Feb 14, 2005, at 9:26 PM, Rasmus Lerdorf wrote:
> D.Walsh wrote: >> On Feb 14, 2005, at 23:49, Adam Maccabee Trachtenberg wrote: >>> Well, that's below 2.5.11, which is what we currently require, so >>> those folks are already out of luck. >>> >>> Meanwhile, Mac OS 10.4 is at 2.6.16, so that's okay. I don't have a >>> 10.3 machine with me here at LinuxWorld, so I can't check that. >> OSX 10.3 is at 2.5.4 > > At the same time, why would people on older operating systems who are > obviously quite conservative when it comes to upgrading suddenly try > to upgrade to the very latest PHP? As long as we don't move the > goalposts beyond the latest releases of the various main operating > systems I think we are fine.
I completely agree with what you're saying here. The only problem is that 10.3 is the current version of Mac OS X. 10.4 won't be out until at least late March. -ryan
-- http://theryanking.com/blog

D . Walsh

21 years ago
On Feb 15, 2005, at 00:26, Rasmus Lerdorf wrote:
> D.Walsh wrote: >> On Feb 14, 2005, at 23:49, Adam Maccabee Trachtenberg wrote: >>> Well, that's below 2.5.11, which is what we currently require, so >>> those folks are already out of luck. >>> >>> Meanwhile, Mac OS 10.4 is at 2.6.16, so that's okay. I don't have a >>> 10.3 machine with me here at LinuxWorld, so I can't check that. >> OSX 10.3 is at 2.5.4 > > At the same time, why would people on older operating systems who are > obviously quite conservative when it comes to upgrading suddenly try > to upgrade to the very latest PHP? As long as we don't move the > goalposts beyond the latest releases of the various main operating > systems I think we are fine.
Conservative? Upgrading your software on a constant basis despite actual needs doesn't make sense, it makes sense to upgrade software you require but upgrading software you don't use, you'd spend all your time upgrading software and no time left for anything else.
> -Rasmus
-- Dale

Zeev Suraski

21 years ago
At 07:26 15/02/2005, Rasmus Lerdorf wrote:
>D.Walsh wrote: >>On Feb 14, 2005, at 23:49, Adam Maccabee Trachtenberg wrote: >> >>>Well, that's below 2.5.11, which is what we currently require, so >>>those folks are already out of luck. >>> >>>Meanwhile, Mac OS 10.4 is at 2.6.16, so that's okay. I don't have a >>>10.3 machine with me here at LinuxWorld, so I can't check that. >> >>OSX 10.3 is at 2.5.4 > >At the same time, why would people on older operating systems who are >obviously quite conservative when it comes to upgrading suddenly try to >upgrade to the very latest PHP? As long as we don't move the goalposts >beyond the latest releases of the various main operating systems I think >we are fine.
At the end of the day it's a fact that lots of people use the latest version of PHP on exceptionally old systems. Some of the reasons I can think of off hand: - Because they're new comers to PHP, and the first version they try may already be too 'demanding' for their server - Because of a (somewhat justified, but not quite) perception that the latest (major) PHP version is more secure, and because PHP is much more visible to them than some library(*) - Because they want specific features in the latest version of PHP, and the same (*) applies here too. There are probably other reasons I didn't think about. People who follow PHP don't necessarily follow all of PHP's dependencies. In my experience they rarely do. Zeev (*) The average PHP user will easily tell you that he's using PHP, but he's much less likely to know that he's using libxml2, and will almost definitely not know which version of libxml2 he's using. We can't assert that because someone is upgrading to new major versions of PHP, he shows the same level of interest in OS/library updates.

Christian Stocker

21 years ago
On 15.2.2005 17:29 Uhr, Zeev Suraski wrote:
> At 07:26 15/02/2005, Rasmus Lerdorf wrote: > >> D.Walsh wrote: >> >>> On Feb 14, 2005, at 23:49, Adam Maccabee Trachtenberg wrote: >>> >>>> Well, that's below 2.5.11, which is what we currently require, so >>>> those folks are already out of luck. >>>> >>>> Meanwhile, Mac OS 10.4 is at 2.6.16, so that's okay. I don't have a >>>> 10.3 machine with me here at LinuxWorld, so I can't check that. >>> >>> >>> OSX 10.3 is at 2.5.4 >> >> >> At the same time, why would people on older operating systems who are >> obviously quite conservative when it comes to upgrading suddenly try >> to upgrade to the very latest PHP? As long as we don't move the >> goalposts beyond the latest releases of the various main operating >> systems I think we are fine. > > > At the end of the day it's a fact that lots of people use the latest > version of PHP on exceptionally old systems. Some of the reasons I can > think of off hand: > - Because they're new comers to PHP, and the first version they try may > already be too 'demanding' for their server > - Because of a (somewhat justified, but not quite) perception that the > latest (major) PHP version is more secure, and because PHP is much more > visible to them than some library(*) > - Because they want specific features in the latest version of PHP, and > the same (*) applies here too. > > There are probably other reasons I didn't think about. People who > follow PHP don't necessarily follow all of PHP's dependencies. In my > experience they rarely do. > > Zeev > > (*) The average PHP user will easily tell you that he's using PHP, but > he's much less likely to know that he's using libxml2, and will almost > definitely not know which version of libxml2 he's using. We can't > assert that because someone is upgrading to new major versions of PHP, > he shows the same level of interest in OS/library updates.
And for that reason, it's maybe a good thing, if we require a more recent libxml2. Because not all things can be supported with 2.5 and therefore people will get confused, when a feature doesn't work on their system... Furthermore it's a pita for reusable-code-writers, if it doesn't work on some installations (and they would have to test their scripts against 2.5 and 2.6). But basically, for me it boils down to the points I made before. Testing and maintaining. Each time we add a new feature or change some things, we have to compile and test it against 2.5 and 2.6 . Looking at the very limited amount of people working on the libxml stuff (it's mainly Rob currently) and the disinterest of me and Rob (don't know about the other XML people) in 2.5, this isn't really the way to go for me. Besides the fact, that some things just can be done nicer and easier in a 2.6-only environment. And it's not that we want to change the requirements from 5.0.3 to 5.0.4, but only for 5.1 (just to make that clear). chregu
-- christian stocker | Bitflux GmbH | schoeneggstrasse 5 | ch-8004 zurich phone +41 1 240 56 70 | mobile +41 76 561 88 60 | fax +41 1 240 56 71 http://www.bitflux.ch | chregu@bitflux.ch | gnupg-keyid 0x5CE1DECB

Zeev Suraski

21 years ago
At 23:32 15/02/2005, Andi Gutmans wrote:
>I still think we should reconsider bundling libxml2 and solve this issue. >XML is a center piece of PHP 5 and will be more and more used by >extensions as well as developers. I think the benefit far outweighs the >downside of bundling. >I know some disagree because of size but I don't see this as an issue. I >think giving PHP users a better experience is very beneficial.
Andi beat me to it, but I very much think in the same way. If we kept a .tar.gz in CVS of the 'blessed' libxml2 version, that would become a part of the release tarball during makedist, it would have solved this dependency issue once and for all, and ensure that a given version of PHP behaves in the same way (at least as far XML is concerned) everywhere. Zeev

Andi Gutmans

21 years ago
I still think we should reconsider bundling libxml2 and solve this issue. XML is a center piece of PHP 5 and will be more and more used by extensions as well as developers. I think the benefit far outweighs the downside of bundling. I know some disagree because of size but I don't see this as an issue. I think giving PHP users a better experience is very beneficial. Andi At 09:27 PM 2/15/2005 +0100, Christian Stocker wrote:

Derick Rethans

21 years ago
On Mon, 14 Feb 2005, Mike Robinson wrote:
> I believe Debian and Fedora (Core 3) is up to 2.6.11 or better.
Debian is 2.6.16 even. Derick
-- Derick Rethans http://derickrethans.nl | http://ez.no | http://xdebug.org