[XML-SIG] Availability of libxml2 and libxslt Python bindings

M.-A. Lemburg mal@lemburg.com
Thu, 21 Feb 2002 19:02:20 +0100


Daniel Veillard wrote:
>=20
> On Thu, Feb 21, 2002 at 07:31:28PM +0200, Hannu Krosing wrote:
> > Should it work with python 2.2 ?
>=20
>   In theory, yes. I think I tested it so far on Red Hat builds with
> 1.5, 2.1 and 2.2 for architectures i386, ia64 and alpha.
>=20
> > I'm able to import libxml2 fine but import libxslt gives
> >
> > [GCC 2.96 20000731 (Red Hat Linux 7.1 2.96-85)] on linux2
> > Type "help", "copyright", "credits" or "license" for more information.
> > >>> import libxml2mod
> > >>> import libxsltmod
> > Traceback (most recent call last):
> >   File "<stdin>", line 1, in ?
> > ImportError: h=938=B5x@/libz.sow: shared object not open
> >
> > Or should I just recompile without zlib ?
>=20
>   No, that's something I'm puzzled at, it had been reported
> already and we could not find the problem yet:
>   http://mail.gnome.org/archives/xml-bindings/2002-February/msg00014.ht=
ml
>=20
>  This seems related to something like:
>    module A need shared lib l1
>    module B need module A and shared lib l2
>    shared lib l2 depends on a symbol from l1

This is a bad thing for portability. You should never have
shared libs depend on each other -- dynamic linking will simply
screw up completely...=20
=20
> and at that point the behaviour becomes unstable.
> It could be that there is one explicit dependancy missing in the shared
> object which makes the process unreliable. And there must be some memor=
y
> corruption going on (look at the string) but where !

Probably in the dynamic linker of the OS. Also, on some
platforms each DLL uses it's own heap for memory=20
allocation.

Why not simply make l1 and l2 a single shared lib ?

--=20
Marc-Andre Lemburg
CEO eGenix.com Software GmbH
______________________________________________________________________
Company & Consulting:                           http://www.egenix.com/
Python Software:                   http://www.egenix.com/files/python/