amauryfa / lxml

lxml-cffi is a PyPy-friendly port of lxml, based on cffi
21 stars 10 forks source link

unable to build cffi branch: lvalue required as unary '&' operand #3

Closed FelixSchwarz closed 9 years ago

FelixSchwarz commented 9 years ago

I'm trying to install the cffi branch with pypy 2.2.1 (Fedora Linux 20):

$ pip install -e git+git://github.com/amauryfa/lxml.git@cffi#egg=lxml-cffi
Obtaining lxml-cffi from git+git://github.com/amauryfa/lxml.git@cffi#egg=lxml-cffi
  Updating ./src/lxml-cffi clone (to cffi)
  Running setup.py (path:…/venv.pypy/src/lxml-cffi/setup.py) egg_info for package lxml-cffi
    src/lxml-cffi/includes/__pycache__/_cffi__gcc6baf73xf1e8aee9.c: In function '_cffi_check_struct__xmlOutputBuffer':
    src/lxml-cffi/includes/__pycache__/_cffi__gcc6baf73xf1e8aee9.c:1555:24: warning: initialization from incompatible pointer type [enabled by default]
       { xmlBuffer * *tmp = &p->buffer; (void)tmp; }
                            ^
    src/lxml-cffi/includes/__pycache__/_cffi__gcc6baf73xf1e8aee9.c:1556:24: warning: initialization from incompatible pointer type [enabled by default]
       { xmlBuffer * *tmp = &p->conv; (void)tmp; }
                            ^
    src/lxml-cffi/includes/__pycache__/_cffi__gcc6baf73xf1e8aee9.c: In function '_cffi_var_XML_XML_NAMESPACE':
    src/lxml-cffi/includes/__pycache__/_cffi__gcc6baf73xf1e8aee9.c:1603:11: error: lvalue required as unary '&' operand
       return (&XML_XML_NAMESPACE);
               ^
    Building lxml version 3.2.1.
    Building without Cython.
    Using build configuration of libxslt 1.1.28
    Building against libxml2/libxslt in the following directory: /usr/lib64
...

The git revision is 96757aeb . The same issue has been reported before ( https://mail.python.org/pipermail/pypy-dev/2014-February/012283.html ) mentioning that this used to work with pypy 2.1 so it might be a pypy regression.

amauryfa commented 9 years ago

There was a change in libxml: XML_XML_NAMESPACE used to be a const char* variable, it's now a #define.

It's now Fixed, please use a newer version.