
On 17/04/13 23:07, Eric Blake wrote:
On 04/17/2013 06:38 AM, Osier Yang wrote:
*/ -%#include <libvirt/libvirt.h> %#include "internal.h" %#include <arpa/inet.h>
This has broken make check Let's revert this hunk, and stop enforcing the checks on .x files, then.
GEN remote_protocol-struct --- remote_protocol-structs 2013-04-11 18:02:02.445662659 +0100 +++ remote_protocol-struct-t3 2013-04-17 11:57:29.472083827 +0100 @@ -7,6 +7,7 @@ VIR_TYPED_PARAM_DOUBLE = 5, VIR_TYPED_PARAM_BOOLEAN = 6, VIR_TYPED_PARAM_STRING = 7, + VIR_TYPED_PARAM_LAST = 8,
We _don't_ want the wire protocol to be exposing *_LAST enum elements. That's _why_ we included <libvirt/libvirt.h> first (to get only public names), then "internal.h" second (to get everything else). Including "internal.h" first (or in isolation) turns on private names such as *_LAST elements. I forgot about that, and hadn't actually tested your patch (I was just reviewing it based on content), or I would have spotted it sooner.
Hum, I see.
}; struct remote_nonnull_domain { remote_nonnull_string name; make[2]: *** [remote_protocol-struct] Error 1
I'm wondering why it works on my FC18. Probably because you don't have dwarves installed, or if you do, because there have been known-buggy versions of dwarves where pdwtags fails to parse files compiled by newer gcc versions; in either of those situations, 'make check' no longer validates the remote_protocol-struct file.
Right, I have not installed it, :( Pushed the reverting patch in build-breaker rule: commit f043199413c8263a17802cf2c0636bc1fe348772 Author: Osier Yang <jyang@redhat.com> Date: Wed Apr 17 23:14:52 2013 +0800 remote: Revert removing "libvirt/libvirt.h" in remote_protocol.x Commit 2d25fd4f410f removed the including of "libvirt/libvirt.h", which breaks the build. Pushed under build-breaker rule. diff --git a/src/remote/remote_protocol.x b/src/remote/remote_protocol.x index d384225..b957b8e 100644 --- a/src/remote/remote_protocol.x +++ b/src/remote/remote_protocol.x @@ -36,6 +36,7 @@ * 'REMOTE_'. This makes names quite long. */ +%#include <libvirt/libvirt.h> %#include "internal.h" %#include <arpa/inet.h> Osier