[XML-SIG] pyexpat.c does not compile with Python2.1a2

Martin v. Loewis martin@loewis.home.cs.tu-berlin.de
Tue, 6 Feb 2001 20:42:36 +0100


> > People building PyXML might not have noticed the problem, setup.py
> > won't build pyexpat if it finds that the Python one is good enough.
>
> When I ran make on 2.0a2 and then ran build the pyexpat module
> wasn't built.  I'm running Redhat linux:
> 
>     Linux  2.2.14-5.0 #1 Tue Mar 7 20:53:41 EST 2000 i586 unknown
>
> I suspect it may have failed to build because I did not have expat
> installed.

That is the likely cause, indeed. I was not saying that you did
anything wrong, or that others did anything wrong - I just tried to
explain the differences.

> There wasn't a warning to this effect and the instructions in the
> README file did not say I need to have it installed. (The README
> file still talks about editing the Module/Setup file so I think it
> is probably out of date.)

It is not an error for an extension module not being built - it just
won't be there when you need it. The autoconfiguration can't know what
modules you meant to be built; instead, it will build everything it
can (sometimes, it errs at guessing what it can build, such case is a
genuine bug).

> The 2.1a2 download page does nor reference source code for expat.
> It was included in the 2.0 download page,
> http://www.python.org/2.0/.  It was not clear to me if the expat
> source code was included in the 2.1a2 source distribution.

It wasn't included, and likely will not be. Instead, you need to
install it separately (as you did for 2.0 - the Python download pages
just provided a copy that was known to work).

> The 2.1 download page, http://www.python.org/2.1/, references the
> 2.1a1 release on SourceForge.  (The returned page highlights the
> older release instead of the 2.1a2 release.)  The
> http://www.python.org/ftp/python/2.1/ download location is also
> reference on the /2.1/ page.  None of the pages reference expat
> source or mention the need to install expat.

It is not needed, at least not more than Tkinter, zlib, BSDDB, OpenGL,
Purify, readline, OpenSSL, or GDBM. Different manual installation will
provide different sets of extension modules, but that is really no
change. It will be the responsibility of packagers (i.e. Windows
installation authors and Linux distributors) to make sure a common set
of extension modules is always available. It is certainly recommended
that pyexpat is in this common set.

Regards,
Martin