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.
> };
> 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.
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library
http://libvirt.org