[libvirt] Re: [PATCH 0/3] A small example program

Jim Meyering jim at meyering.net
Fri Jan 30 13:32:00 UTC 2009


Jim Meyering <jim at meyering.net> wrote:
> I've just applied your 3 patches and built the example.
> That went fine.  Then I tried to run it like this:
...
>      $ kill $pid
>      $ LIBVIRT_DEBUG=1 ../../qemud/libvirtd 2> log &
>      $ ./hellolibvirt
>      Attempting to connect to hypervisor
>      Connected to hypervisor at "qemu:///session"
> ? -> libvir: error : Unknown failure
>      Failed to get hypervisor version
>      Disconnected from hypervisor
>      [Exit 1]
>
> This is on F10 x86_64.

FYI, I poked around in the server to see what was going wrong.
qemudGetVersion calls qemudExtractVersion, which calls
virCapabilitiesDefaultGuestEmulator, which compares the
single guest cap and gets an arch mismatch:

Breakpoint 1, virCapabilitiesDefaultGuestEmulator (caps=0x71fee0,
    ostype=0x4bbc40 "hvm", arch=0x4bb980 "i686", domain=0x4bbc44 "qemu")
    at capabilities.c:497
...
(gdb) p *caps
$12 = {
  host = {
    arch = 0x71be60 "x86_64",
    nfeatures = 0,
    features = 0x0,
    offlineMigrate = 0,
    liveMigrate = 0,
    nmigrateTrans = 0,
    migrateTrans = 0x0,
    nnumaCell = 1,
    numaCell = 0x717430
  },


So this test fails: "x86_64" != "i686"

    STREQ(caps->guests[i]->arch.name, arch)

so qemudGetVersion does, too.




More information about the libvir-list mailing list