Python 3.2a1 in rawhide

David Malcolm dmalcolm at redhat.com
Tue Aug 24 15:37:26 UTC 2010


On Tue, 2010-08-24 at 09:10 -0500, Jeffrey Ollie wrote:
> On Mon, Aug 23, 2010 at 7:16 PM, David Malcolm <dmalcolm at redhat.com> wrote:
> >
> > A suggested fix (caveat: not tested): ensure that the python-lxml.spec
> > has a
> >  BuildRequires: Cython >= 0.12
> > and delete the .c file in the %prep, to ensure that Cython regenerates
> > it during the build.
> >
> > Does this fix it?
> 
> That worked, or at least it let me build.  Cython isn't available for
> python3 apparently so you can't let the python3 build stage generate
> the .c files, you need to generate them during the python2 build stage
> and copy them over to the python3 build dir.

As I understand it, the .c files that Cython generates are compilable
against both Python 2 and Python 3: it adds the necessary preprocessor
macros to do the right thing.  (The shared libraries that are generated
will be specific to a particular MAJOR.MINOR release of python, though).

Cython itself is implemented in Python; it sounds from the above like
it's written to work with just Python 2 at this stage (which I don't see
as an issue; I think it's perfectly acceptable to require python 2 to
run tools to build python 3 packages; as another example: we use
systemtap's /usr/bin/dtrace during the build of python3, which is in
fact a Python 2 script).


> One other issue I discovered was that I needed to suppress byte
> compiling during the install stage because it seemed that the python3
> installer somehow was doing python2-style byte compilation. (Or maybe
> I'm just misunderstanding things)

That sounds weird.  Do you have a build log?


Dave



More information about the devel mailing list