Re: [PHP4BETA] error(s) compiling DOM xml module...
[email protected] (Steve Langasek) Mon, 5 Jun 2000 14:23:16 -0500 (CDT)
| Newsgroups | php.version4 |
|---|---|
| Message-ID | <[email protected]> |
On Mon, 5 Jun 2000, Jesse Griffis wrote:
> I'm running a development server that has been reliably serving up PHP3
> pages for quite a while. PHP4 is out, and I figure "Pretty cool, I'll try
> out the DOM XML stuff that they just did". Unfortunately, PHP4 won't
> compile with DOM enabled. Here's the details (please feel free to slap me
> around if I miss something vital--I'm not that proficient in fixing this
> kind of thing):
> uname -a:
> Linux ns2.andalon.net 2.2.12-20 #1 Mon Sep 27 10:40:35 EDT 1999 i686 unknown
> (In fact, feel free to check out: ns2.andalon.net/phpinfo.php...it's working
> nicely. :))
> It's running RedHat 6.1.
> Seeing as the DOM XML docs say you need gnome's XML library, these RPMs seem
> to be the relevant ones:
> (the (-devel) part means I have the 'user' and devel rpms installed)
> gnome-core(-devel)-1.0.54-2
> gnome-libs(-devel)-1.0.54-1
> libxml(-devel)-1.8.7-1
> domxml.c: In function `php_if_domxml_children':
> domxml.c:554: structure has no member named `children'
> domxml.c:556: structure has no member named `children'
[snip]
I took a look at the headers on my system for comparison [RedHat... uh..
(6.0+6.1)/2], and in /usr/include/gnome-xml/tree.h from libxml-devel-1.7.3-1,
I find the following structure:
typedef struct xmlNode {
...
struct xmlNode *childs; /* parent->childs link */
...
}
I'm guessing this part of the code was originally written by a non-native
speaker of English? :) If PHP4 is using 'children' instead of 'childs', then
this was probably changed in a later version of GNOME's libxml. According to
the NEWS file, nothing older than libxml 2.0 beta is now supported.
Just checked RedHat 6.2 as well -- libxml-1.8.6-2 also lists 'childs' instead
of 'children'. So it looks like this DOM XML support doesn't work with any
versions of libxml that RedHat ships.
Steve Langasek
postmodern programmer