
Jim Fehlig wrote:
When building without driver modules, I've noticed that the legacy xen driver no longer works. The attached patch fixes it, but I'm not sure if this is the correct fix.
Sorry, I should have elaborated here. I don't think this is the correct fix because now libvirt.so has a dependency on xen libs, e.g. libxenstore, which (I think) defeats the purpose of modularizing the build.
I need to do some more testing with and without modules, but wanted to raise this on the list for comments/suggestions.
When building libvirt without driver modules, I'm not able to connect to the legacy xen driver # virsh version Compiled against library: libvirt 0.10.0 Using library: libvirt 0.10.0 Using API: QEMU 0.10.0 error: failed to get the hypervisor version error: internal error Cannot find suitable emulator for x86_64 # virsh -c xen:/// version error: internal error libxenlight state driver is not active error: failed to connect to the hypervisor Which is correct, since the libxl driver won't load if xend is active. But why is the legacy xen driver not tried? I can connect to the libxl one when xend is not active # virsh version Compiled against library: libvirt 0.10.0 Using library: libvirt 0.10.0 Using API: xenlight 0.10.0 Running hypervisor: xenlight 4.1.0 When building with driver modules and trying to connect to the legacy xen driver # virsh version Compiled against library: libvirt 0.10.0 Using library: libvirt 0.10.0 Using API: QEMU 0.10.0 error: failed to get the hypervisor version error: internal error Cannot find suitable emulator for x86_64 # virsh -c xen:/// version Compiled against library: libvirt 0.10.0 Using library: libvirt 0.10.0 Using API: Xen 0.10.0 Running hypervisor: Xen 4.1.0 So this is a change in behavior, where the connection must now be explicitly specified. Same goes for connecting to the libxl driver when built with driver modules # virsh version Compiled against library: libvirt 0.10.0 Using library: libvirt 0.10.0 Using API: QEMU 0.10.0 error: failed to get the hypervisor version error: internal error Cannot find suitable emulator for x86_64 # virsh -c xen:/// version Compiled against library: libvirt 0.10.0 Using library: libvirt 0.10.0 Using API: xenlight 0.10.0 Running hypervisor: xenlight 4.1.0 Suggestions on how to go about fixing all of this would be much appreciated :). Thanks, Jim