On Tue, 2010-08-24 at 09:10 -0500, Jeffrey Ollie wrote:
On Mon, Aug 23, 2010 at 7:16 PM, David Malcolm
<dmalcolm(a)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