[Xcb] libxcb-1.9.3 fails to build - python generation script error

Jason Vas Dias jason.vas.dias at gmail.com
Wed Apr 13 22:14:38 UTC 2016

Hi -

The python scripts shipped with libxcb-1.9.3,
the latest tag  checked out from GIT,
do not seem to be functional .

After successful configuration, having installed all xproto packages,
python-2.7.1, and libXdmcp + libXau, I run:

$ make
Making all in src
make[1]: Entering directory '/usr/build/linux/libxcb/src'
/usr/bin/python ./c_client.py -p /usr/lib/python2.7/site-packages
Traceback (most recent call last):
  File "./c_client.py", line 3011, in <module>
  File "/usr/lib/python2.7/site-packages/xcbgen/state.py", line 106, in generate
  File "./c_client.py", line 2854, in c_request
    _c_type_setup(self, name, ('request',))
  File "./c_client.py", line 426, in _c_type_setup
    _c_serialize('sizeof', self)
  File "./c_client.py", line 1097, in _c_serialize
    param_fields, wire_fields, params = get_serialize_params(context, self)
  File "./c_client.py", line 622, in get_serialize_params
    unresolved_fields = resolve_expr_fields(self)
  File "./c_client.py", line 569, in resolve_expr_fields
    expr_fields += get_expr_fields(field.type)
  File "./c_client.py", line 541, in get_expr_fields
    unresolved_fields_names = get_expr_field_names(self.expr)
  File "./c_client.py", line 537, in get_expr_field_names
    return get_expr_field_names(expr.lhs) + get_expr_field_names(expr.rhs)
  File "./c_client.py", line 511, in get_expr_field_names
    if expr.op is None:
AttributeError: 'NoneType' object has no attribute 'op'
Makefile:1293: recipe for target 'xproto.c' failed
make[1]: *** [xproto.c] Error 1
make[1]: Leaving directory '/usr/build/linux/libxcb/src'
Makefile:574: recipe for target 'all-recursive' failed
make: *** [all-recursive] Error 1

It appears that the 'expr' parameter of get_expr_field_names is None,
and it does not handle this case.

Please can anyone let me know :
  o The last working version of libxcb where the python C generation scripts
     are known to function correctly ;
or , failing that - could anyone please provide me with pre-generated copies of
the C files meant to be generated by the dysfunctional python scripts ?

Thanks & Regards,

More information about the Xcb mailing list