Bug 104972

Summary: eventstruct "out" function is undefined
Product: XCB Reporter: Avindra Goolcharan <aavindraa>
Component: ProtocolAssignee: xcb mailing list dummy <xcb>
Status: RESOLVED WORKSFORME QA Contact: xcb mailing list dummy <xcb>
Severity: major    
Priority: medium    
Version: unspecified   
Hardware: All   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description Avindra Goolcharan 2018-02-06 18:48:22 UTC
Please see the following stack trace, which indicates that the eventstruct functionality added in https://cgit.freedesktop.org/xcb/proto/commit/?id=4aa40fbd5e05833b72327ea37421b09dff246732 is broken, and causing the xcb-proto package to fail altogether, even on basic import statements:

```
  File "/home/edj/Repos/polybar/lib/xpp/generators/cpp_client.py", line 3163, in <module>
    from xcbgen.state import Module
  File "/usr/lib/python3.6/site-packages/xcbgen/state.py", line 7, in <module>
    from xcbgen import matcher
  File "/usr/lib/python3.6/site-packages/xcbgen/matcher.py", line 12, in <module>
    from xcbgen.xtypes import *
  File "/usr/lib/python3.6/site-packages/xcbgen/xtypes.py", line 1201, in <module>
    class EventStruct(Union):
  File "/usr/lib/python3.6/site-packages/xcbgen/xtypes.py", line 1219, in EventStruct
    out = __main__.output['eventstruct']
KeyError: 'eventstruct'
```

This has caused build issues in openSUSE, as well as Arch Linux, when the (currently unreleased) eventstruct functionality tries to be used.

https://github.com/jaagr/polybar/issues/973
https://github.com/jaagr/polybar/issues/564
Comment 1 Uli Schlachter 2018-02-09 16:32:32 UTC
> ... is broken, and causing the xcb-proto package to fail altogether, even on basic import statements:

Uhm, sorry, but I do not understand this. I have the commit in question, I can build libxcb against this xcb-proto version, and I can run python -c 'import xcbgen' without problems. What am I doing wrong?

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.