Build bugs in Python 2.2.1?

Martin v. Loewis martin at v.loewis.de
Sun Aug 11 16:41:20 EDT 2002


Jonathan Hogg <jonathan at onegoodidea.com> writes:

> As simply as possible in my book. The bare minimum changes for me would be a
> small amount of logic in configure which would enable and setup the few
> modules with external library dependencies (ssl, dbm, expat, etc.) if the
> appropriate --with-* flags are set. 

Feel free to try. Experience has shown that this is *not* simple. In
particular, setting up bsddb is a nightmare.

Please use the latest CVS, though: expat has no external library
dependencies.

> If they aren't then it could simply fall back on the existing
> functionality. That would be enough to enable me to integrate the
> building of Python into my framework simply.

Now I don't understand: What do you mean by "enable and setup"?
I.e. what is the precise set of files written, options added, and so
on? If that means "compute the set of compiler options needed to build
these modules", then how do you use that information?

> In the interests of not adding more special cases, I'd prefer that the whole
> procedure of configuring modules on UNIX is revisited. God knows, autoconf
> isn't pretty, but it is well maintained and very capable. When it comes to
> determining what is available on a particular UNIX platform, setup.py isn't
> going to come close.

That is only because distutils doesn't provide good support for that.

Remember, all that autoconf does is to generate a shell script. All
that the shell script does is to invoke some tools on the
system. There is nothing that a Python script could not do, either.

> > You have to be more precise than that. How exactly do you expect the
> > setting of CFLAGS and LDFLAGS to be used? Completely ignoring them
> > throughout would also be "consistent".
> 
> I would expect them to be used wherever something is compiled or linked -
> that is the generally accepted purpose of setting them.

In addition or instead of the default, or by some other combining
algorithm (if so, which one)?

> > configure could (and does) record things in Makefile.pre.
> 
> Is this used by distutils in the building of modules?

Certainly: distutils reads Makefile to find out variable settings.

There is little point in discussing such things in the abstract. You
really have to study the current procedure in detail to understand why
things are done the way they are done.

Regards,
Martin



More information about the Python-list mailing list