Bug 93959

Summary: libxcb (git version) fails to build
Product: XCB Reporter: Jos van Wolput <wolput>
Component: LibraryAssignee: xcb mailing list dummy <xcb>
Status: RESOLVED FIXED QA Contact: xcb mailing list dummy <xcb>
Severity: normal    
Priority: medium    
Version: unspecified   
Hardware: x86-64 (AMD64)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description Jos van Wolput 2016-02-02 03:15:41 UTC
The latest git version of libxcb (b3516102b4469df99db39e0e354deae496867f35)
fails to build with the following error:
-----
Making all in src
make[1]: Entering directory '/home/jos/src/xorg/git/libxcb/src'
  GEN      xinput.c
Traceback (most recent call last):
  File "./c_client.py", line 3321, in <module>
    module.generate()
  File "/usr/lib/python2.7/dist-packages/xcbgen/state.py", line 106, in generate
    item.out(name)
  File "./c_client.py", line 3121, in c_request
    _c_type_setup(self, name, ('request',))
  File "./c_client.py", line 493, in _c_type_setup
    _c_type_setup(field.type, field.field_type, ())
  File "./c_client.py", line 509, in _c_type_setup
    _c_complex(self)
  File "./c_client.py", line 2125, in _c_complex
    _c_complex_field(self, field, space)
  File "./c_client.py", line 2110, in _c_complex_field
    elif (not field.type.is_pad) or field.type.serialize:
AttributeError: 'PadType' object has no attribute 'serialize'
Makefile:1289: recipe for target 'xinput.c' failed
make[1]: *** [xinput.c] Error 1
make[1]: Leaving directory '/home/jos/src/xorg/git/libxcb/src'
Makefile:786: recipe for target 'all-recursive' failed
make: *** [all-recursive] Error 1
-----
Comment 1 Christian Linhart 2016-02-02 09:41:10 UTC
Did you update xcb/proto as well?

The last commit in libxcb depends on the last commit of xcb/proto.
Your build output looks like xcb/proto were not updated.
Comment 2 Jos van Wolput 2016-02-02 11:02:27 UTC
(In reply to Christian Linhart from comment #1)
> Did you update xcb/proto as well?
> 
> The last commit in libxcb depends on the last commit of xcb/proto.
> Your build output looks like xcb/proto were not updated.

Fixed after updating xcb/proto.
Comment 3 Josh Triplett 2016-02-02 17:33:47 UTC
I don't think this bug is fixed; if xcb depends on a newer version of xcb-proto, the pkg-config dependency should reflect that.
Comment 4 Julien Cristau 2016-03-29 13:02:36 UTC
> --- Comment #3 from Josh Triplett <josh@freedesktop.org> ---
> I don't think this bug is fixed; if xcb depends on a newer version of
> xcb-proto, the pkg-config dependency should reflect that.
> 
pkg-config shouldn't reflect build-time dependencies, this probably
belongs in configure.ac instead.
Comment 5 Josh Triplett 2016-03-29 14:48:00 UTC
(In reply to Julien Cristau from comment #4)
> > --- Comment #3 from Josh Triplett <josh@freedesktop.org> ---
> > I don't think this bug is fixed; if xcb depends on a newer version of
> > xcb-proto, the pkg-config dependency should reflect that.
> > 
> pkg-config shouldn't reflect build-time dependencies, this probably
> belongs in configure.ac instead.

By "pkg-config dependency" here, I meant configure.ac's use of PKG_CHECK_MODULES with a ">= $VERSION".  I'm saying that if libxcb needs a particular version of xcb-proto, it should have a versioned dependency on that version of xcb-proto.

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.