Lists Home |
Date Index |
- From: Matt Sergeant <firstname.lastname@example.org>
- To: email@example.com
- Date: Mon, 07 Aug 2000 10:30:54 +0100 (BST)
I didn't know where exactly to post this, but I figure most of the
relevant people are listening here.
Summary: Something is rotten in the state of Expat...
There are many conflicting versions of expat out there: it lacks a single
"one true expat". What has happened is that many people have compiled
expat statically into their application or library. The application I'm
having most problems with is Apache. Apache compiles in expat as a
default. It compiles it in statically (doesn't use a shared
libxmltok/libxmlparse). Then you add PHP to the mixture. That contains its
own version of expat when you enable the XML features (someone correct me
if I'm wrong about that - I'm not a PHPer). Then you mix in a little
mod_perl and introduce XML::Parser - that's another statically linked
expat. And now I've got XML::Sablotron, now that does the right thing -
gives you a dynamically loaded expat. But of course expat is already
loaded, so there's another conflict...
The result is a segfault.
There is also the issue of "patched expats" - some apps/modules use
patched versions of expat different from the original, because the
original expat didn't have all the required features.
Do the same as 4XT.org has done. Register the domain name 4expat.org and
maintain a version of expat that has all the features that XML::Parser,
Sablotron, Apache and PHP (and others) need. Distribute a single .tar.gz
of Expat that builds a shared library only. Distribute rpm's for Linux,
and maybe a Windows installer if people really want that. Maintain a
mailing list. Communicate with all the major library maintainers to make
sure that we can all use a single shared expat library (DSO).
How does that sound? I'm not too hot on the technical issues (I'm a Perl
guy, not a C programmer), so don't ask too many questions of me (although
I can probably point you to technical discussions on the 'net about the
problem). But this is a real and valid problem, that I'd love to see
sorted out in a community way. And I'm assuming that James Clark would
like to see his child go off into the big wide world now, a-la XT. If I'm
wrong on that, James, I appologise, but the problem needs sorting somehow.
Fastnet Software Ltd. High Performance Web Specialists
Providing mod_perl, XML, Sybase and Oracle solutions
Email for training and consultancy availability.
http://sergeant.org | AxKit: http://axkit.org