[Xcb] Xprint build failure
Olivier Fourdan
ofourdan at redhat.com
Tue May 19 01:28:22 PDT 2015
Hi Uli
I am trying to investigate this, and it seems this error occurs in newly added (generated) code (as compared to 1.11)
This generated code is because of commit e3ec1f7:
| commit e3ec1f74637237ce500dfd0ca59f2e422da4e019
| Author: Jaya Tiwari <tiwari.jaya18 at gmail.com>
| Date: Thu Jan 22 12:16:33 2015 -0500
|
| Adding accessors for requests
|
| Added accessor functions for requests the same way they were added for
| structs,events and replies.
| Lists for replies have accessor functions now.
|
| Signed-off-by: Jaya Tiwari <tiwari.jaya18 at gmail.com>
| Reviewed-by: Christian Linhart <chris at demorecorder.com>
|
| Comment from the Reviewer Christian Linhart:
| I have tested your patch after fixing the issues with the patch-format.
| It looks good:
| * only adds new functions, and does not modify existing functions.
| Therefore it is API and ABI compatible.
|
| * adds accessors for varsized-stuff in requests.
| This is needed for server-side XCB and may be useful for implementing X11-protocol proxies.
|
| diff --git a/src/c_client.py b/src/c_client.py
| index cce620f..8a2900c 100644
| --- a/src/c_client.py
| +++ b/src/c_client.py
| @@ -3137,6 +3137,7 @@ def c_request(self, name):
| if self.c_need_aux:
| _c_request_helper(self, name, 'xcb_void_cookie_t', True, False, True)
| _c_request_helper(self, name, 'xcb_void_cookie_t', True, True, True)
| + _c_accessors(self, name, name)
|
| # We generate the manpage afterwards because _c_type_setup has been called.
| # TODO: what about aux helpers?
Removing that added line fixes the compilation of xprint.
I am not sure why this was added, so this is probably not the right fix, the appropriate fix would be to generate correct C code instead (by passing the expected params), so this is not the end of the investigation, the root cause probably lies in a prior commit.
Cheers,
Olivier
----- Original Message -----
> Hi everyone,
>
> it seems like --enable-xprint causes a build failure in current Git master:
>
>
> CC xprint.lo
> xprint.c: In function 'xcb_x_print_print_put_document_data_options_len':
> xprint.c:1345:35: error: too few arguments to function
> 'xcb_x_print_print_put_document_data_doc_format_end'
> xcb_generic_iterator_t prev =
> xcb_x_print_print_put_document_data_doc_format_end(R);
> ^
> xprint.c:1331:1: note: declared here
> xcb_x_print_print_put_document_data_doc_format_end (const
> xcb_x_print_print_put_document_data_request_t *R /**< */,
> ^
> xprint.c: In function 'xcb_x_print_print_put_document_data_options':
> xprint.c:1352:35: error: too few arguments to function
> 'xcb_x_print_print_put_document_data_doc_format_end'
> xcb_generic_iterator_t prev =
> xcb_x_print_print_put_document_data_doc_format_end(R);
> ^
> xprint.c:1331:1: note: declared here
> xcb_x_print_print_put_document_data_doc_format_end (const
> xcb_x_print_print_put_document_data_request_t *R /**< */,
> ^
> xprint.c: In function 'xcb_x_print_print_put_document_data_options_end':
> xprint.c:1368:36: error: too few arguments to function
> 'xcb_x_print_print_put_document_data_doc_format_end'
> xcb_generic_iterator_t child =
> xcb_x_print_print_put_document_data_doc_format_end(R);
> ^
> xprint.c:1331:1: note: declared here
> xcb_x_print_print_put_document_data_doc_format_end (const
> xcb_x_print_print_put_document_data_request_t *R /**< */,
> ^
> Makefile:981: recipe for target 'xprint.lo' failed
> make[2]: *** [xprint.lo] Error 1
>
>
> I'm not using xprint, but just --enable everything I can to catch things like
> this.
> I haven't looked into this, perhaps someone else has an idea (and has more
> clue about the clue)?
>
> Cheers,
> Uli
> --
> 99 little bugs in the code
> 99 little bugs in the code
> Take one down, patch it around
> 117 little bugs in the code
> -- @irqed
> _______________________________________________
> Xcb mailing list
> Xcb at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/xcb
More information about the Xcb
mailing list