[libvirt] Currently in freeze for 0.8.8, rc2 available
Daniel P. Berrange
berrange at redhat.com
Mon Feb 14 10:58:48 UTC 2011
On Mon, Feb 14, 2011 at 09:46:01PM +1100, Justin Clift wrote:
> On 14/02/2011, at 8:15 PM, Justin Clift wrote:
> > On 14/02/2011, at 3:22 PM, Daniel Veillard wrote:
> > <snip>
> >> it does fix the error messages I had on linux configure,
> >> but I'm not sure the issues on Win32 and OS-X are all sorted
> >> out yet, so please check.
> >
> > Still broken on OSX. :(
>
> Found the commit which introduces the breakage, it's this one:
>
> **************************************************************
> **************************************************************
>
> commit 2169472ab6cac3bdb1f32578de2b608a61a1d703
> Author: Jiri Denemark <jdenemar at redhat.com>
> Date: Wed Feb 2 16:37:10 2011 +0100
>
> qemu: Add shortcut for HMP pass through
>
> Currently users who want to use virDomainQemuMonitorCommand() API or
> it's virsh equivalent has to use the same protocol as libvirt uses for
> communication to qemu. Since the protocol is QMP with current qemu and
> HMP much more usable for humans, one ends up typing something like the
> following:
>
> virsh qemu-monitor-command DOM \
> '{"execute":"human-monitor-command","arguments":{"command-line":"info kvm"}}'
>
> which is not a very convenient way of debugging qemu.
>
> This patch introduces --hmp option to qemu-monitor-command, which says
> that the provided command is in HMP. If libvirt uses QMP to talk with
> qemu, the command will automatically be converted into QMP. So the
> example above is simplified to just
>
> virsh qemu-monitor-command --hmp DOM "info kvm"
>
> Also the result is converted from
>
> {"return":"kvm support: enabled\r\n"}
>
> to just plain HMP:
>
> kvm support: enabled
>
> If libvirt talks to qemu in HMP, --hmp flag is obviously a noop.
>
> **************************************************************
> **************************************************************
>
> Now, I just need to understand how this patch causes the error:
>
> ld: duplicate symbol _virDomainQemuMonitorCommandFlags in ./.libs/libvirt_util.a(libvirt_util_la-bitmap.o) and ./.libs/libvirt_util.a(libvirt_util_la-authhelper.o)
>
> Suggestions and pointers welcome. :)
It is a broken enum declaration in the header libvirt-qemu.h:
enum {
VIR_DOMAIN_QEMU_MONITOR_COMMAND_DEFAULT = 0,
VIR_DOMAIN_QEMU_MONITOR_COMMAND_HMP = (1 << 0), /* cmd is in HMP */
} virDomainQemuMonitorCommandFlags;
There is a missing 'typedef' keyword there before 'enum', so instead of
defining a type, it is defining a variable :-(
Daniel
--
|: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org -o- http://virt-manager.org :|
|: http://autobuild.org -o- http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|
More information about the libvir-list
mailing list