On Fri, Jun 27, 2003 at 12:25:39PM -0400, Sterling Hughes wrote:
So I figure I'll restart this discussion. There are a couple of reasons
I want to bundle libxml2:
1) XML support is crucial. You may not like XML, but its the standard
for data exchange these days, and is incredibly important when
interoperating with external services. A PHP installation should simply
not exist without XML support, if it does, then imho we've done
something wrong. Applications that are distributed need to rely on
certain features in PHP, XML is one such feature. I think this much has
already been agreed upon.
If libxml2 is required , then require it. The 1-3 % of Unix users
that don't have it installed should be able to install libxml2
themselves.. It is easy. The windows users rarely compile PHP
themselves, so they won't notice anyway.
What's more is that the libxml2 as an external package is usually built
with both iconv and zlib support. Is iconv and zlib going to be
2) Libxml2 may be installed everywhere, but the version we rely upon
isn't available everywhere. As witnessed by a message to the list by
michael, and a problem that someone else had over IRC. Its fine to
allow people to use external versions of libxml2, however, we need a
recent version to operate. For example, schema support is pretty
essential, as its becoming the new DTD format for XML (and is required
for proper SOAP support).
You're on a grey area when you try to mix the same dynamic/static libraries
of differnt versions within one executable. ext/yaz (yaz) is going to suffer
from it sooner or later. In fact any library using libxml2 may be suffering
How about libxslt which is uses libxml2 too. libxslt may be linked
with the dynamic one, but during run time it is actually using the
bundled libxml2 from PHP ! Bottomline is that it becomes difficult which
one is using which one. And difficult to debut too.
Shared libs are wonderful but there is not the error message:
"symbol multiple defined". I bet in the future (if not already) there
are other "sub" libraries using very useful lib libxml2.
If there are -well-defined- rules for this, I'd like to know, so that
I can deal with it..
Its further helpful that users can rely on a certain implementation of
libxml2 distributed with a certain version of PHP.
Anyhow, I thought I'd again bring this up before the beta. What do
Good judgement comes from experience, and experience comes from
- Fred Brooks
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php
Adam Dickmeiss mailto:firstname.lastname@example.org http://www.indexdata.dk
Index Data T: +45 33410100 Mob.: 212 212 66