Build bugs in Python 2.2.1?
Mahrt, Dallas
dallasm at aiinet.com
Tue Aug 20 17:54:34 EDT 2002
One aspect of the build process that has been avoided in this discussion is
the problems
that the setup.py/distutils process causes for cross-compiling. Because the
build process
depends on the host and build targets to be the same, cross-compilation
cannot happened with
a './configure <opts>; make; make install'. This is because the built
interpreter is used to
execute the setup.py program. While I have devised a painful solution for
this problem,
several other problems occur during the module build process. Among them are
1) Cannot create shared library modules: Modules that are compiled as shared
libraries
are rejected since they cannot be loaded on this system.
2) Cannot compile the pure-Python modules since you cannot use the
interpreter
3) While most files are installed using GNU's libtools, directories are
created using a
standard makedir. This complicates systems where the install program
reroutes an install
path to a staging are in order to create a ramdisk.
Example. Calling '$(INSTALL) foo.py /usr/lib/python2.2/foo.py' installs the
program in /home/user/dev/project/staging/usr/lib/python2.2/foo.py
These are simply the problems I have encountered thus far. I am hacking some
quick fixes together
to solve this problem but would welcome discussion on more permanent ways
(via patches) that I could
Modify this process to better enable cross-compilation.
--
Dallas S. Mahrt
> -----Original Message-----
> From: loewis at informatik.hu-berlin.de
> [mailto:loewis at informatik.hu-berlin.de]
> Sent: Monday, August 12, 2002 3:30 AM
> To: python-list at python.org
> Subject: Re: Build bugs in Python 2.2.1?
>
>
> DIG <dig.list at telkel.net> writes:
>
> [using autoconf for building modules]
> > > Please understand that this option has been explicitly
> considered,
> > > and has been rejected in favour of a distutils-based
> build approach.
> >
> > It would be much more understandable, if you explicitly told us why
> > this option has been considered, but rejected ...
>
> distutils and autoconf are largely overlapping for building
> extension modules. distutils has the advantage of
>
> a) being able to record the dependencies between files, and
> b) requiring only Python and the C compiler to build extensions.
>
> I believe people also think that
>
> c) Python code is better readable and maintainable than autoconf
> source code, and
> d) for the things that you need to determine when building extension
> modules, autoconf is no big help.
>
> Furthermore,
>
> e) there is no inherent magic in autoconf that could not be provided
> in a Python library (i.e. distutils).
>
> HTH,
> Martin
>
> --
> http://mail.python.org/mailman/listinfo/python-list
>
More information about the Python-list
mailing list