Hi! Is there any way I can help you (as maintainer of libxml-parser-perl)?
Thanks, Ardo Robert Coie <[EMAIL PROTECTED]> writes: > I have noticed a conflict between the versions of Expat in apache-perl > 1.3.9.10-1.21-6 and libxml-parser-perl 2.27-6 that causes memory > corruption. I assume that the DSO apache-1.3.9/libapache-mod-perl > 1.21 in potato is similarly affected, as I first started getting > segfaults when running under that version. > > The problem arises because the "expat-lite" version of the expat > library is compiled into apache without defining XML_DTD. The > libExpat.so in libxml-parser-perl is compiled with XML_DTD defined, > which, among other things, changes the size and composition of various > data structures. If an object is allocated by the expat-lite code, > accesses to it from the libxml-parser-perl code can clobber memory. > > I can think of several ways to solve the problem: > > (1) Delete the expat-lite directory from the Apache build tree, or > disable it somehow. Pro: simple. Con: perhaps somebody needs it. > > (2) Make the expat-lite version compile with XML_DTD defined also, so > it is compatible with the libxml-parser-perl version. Pro: saves > expat-lite in Apache. Con: fragile; perhaps there are other > incompatibilities, even some insoluble ones due to Apache forking > Expat. > > (3) Use preprocessor hackery to rename the symbols in the expat-lite > version, so there is no possibility of code mixing and matching. Pro: > Solves the Cons of the first two options. Con: more difficult to do, > introduces what could be viewed as a gratuitous incompatibility with > the mainstream Apache distribution. -- Ardo van Rangelrooij home email: [EMAIL PROTECTED], [EMAIL PROTECTED] home page: http://home.flevonet.nl/~avrangel PGP fp: 3B 1F 21 72 00 5C 3A 73 7F 72 DF D9 90 78 47 F9