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

Martin v. Loewis martin@loewis.home.cs.tu-berlin.de
Wed, 7 Feb 2001 00:29:38 +0100


> Is there a specific version of expat that needs to be installed?  I
> found no reference to where to get the library or which version was
> required.

Both expat 1.1 and 1.2 are known to work. Unfortunately, these
releases are not self-identifying, so it is hard to tell which one you
got after you've installed them. For 1.95.1, I think there are some
issues that pyexpat will behave differently - I don't know whether
that is due to bug fixes, new bugs, or simply changed behaviour; it
was also a while ago that I've used this version (by accident at that
time).

> There is an advantage in having a list of URLs required to build
> extensions would make it much safer and error free for end users
> when they are trying to build a fully populated module library.

Certainly. The disadvantage of having such a list is that it requires
a volunteer to maintain it. Please have a look at Modules/Setup.dist,
though. As it is not required in the actual build process, it may be
inaccurate.

> I found out the pyexpat wasn't built when I tried executing a script
> that required the module.  Fortunately I was still running ground
> tests on my flight control system when the exception was raised:-)

Yes, packaging and deployment is a hard business, and often requires
expert knowledge of the system being deployed.

> > > 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).
> 
> I understand why you don't bundle it with the distribution, I just was 
> pointing out that the documentation didn't make it clear that I needed to 
> have the expat library installed before PyXML would work.  

There is some confusion here: PyXML *does* include expat. Python 2.0
does not include it, nor will 2.1.

> If it were possible to easily identify which modules were not built
> and what was missing that prevented them from being built.  With
> some additional information it is more likely that the maintainers
> of Linux distributions would add imissing libraries so the buiild
> would be complete.

In Python 1.5, Modules/Setup* did provide such a complete list, yet
there were still differences - apparently caused by distributors being
unwilling to make the required headers and libraries available on the
build system. So I do not believe your claim that a comprehensive list
would solve this matter.

> That is just speculation on my part.  I would expect the report
> generation could be done automatically by the build process.  The
> build tool would need to track which modules were skipped and
> generate a report at the end of what was not built and why.

It is certainly possible; it just requires a volunteer to implement
such a feature. It would then require cooperation of all contributors
to use the feature properly when they make changes to the build
process.

To officially request a feature, please file a bug report at
sourceforge.net/projects/python. This is also the place where patches
can be contributed.

Regards,
Martin