[libvirt] [PATCH] check device-mapper when building without storage mpath

Justin Clift jclift at redhat.com
Fri Feb 18 09:35:32 UTC 2011


On 18/02/2011, at 8:07 PM, Wen Congyang wrote:
> At 02/18/2011 05:00 PM, Justin Clift Write:
>> On 18/02/2011, at 7:46 PM, Jiri Denemark wrote:
>> <snip>
>>> 
>>>> Thanks for the fix, actually It can be reproduced simply by:
>>>> % ./autogen.sh --with-storage-mpath=no
>>>> % make
>>>> 
>>>> As src/util/util.c invokes "dm_is_dm_major".
>>> 
>>> Yes it does, but I'm not convinced this is the right approach to fix it. Why
>>> should libvirt always require device-mapper libraries?
>> 
>> As a data point, device-mapper isn't available on non-Linux platforms.  If
>> Osier was meaning to make it "required", I can see a problem about there. ;)
> 
> Do we build storage mpath on such platforms?

No.  This is the ./configure output on OSX using libvirt 0.8.8, with most of
the stuff enabled that can be made to compile:

*********************************************

configure: Configuration summary
configure: =====================
configure: 
configure: Drivers
configure: 
configure:      Xen: no
configure:     QEMU: no
configure:      UML: no
configure:   OpenVZ: yes
configure:   VMware: yes
configure:     VBox: yes
configure:   XenAPI: no
configure:      LXC: no
configure:     PHYP: no
configure:      ONE: no
configure:      ESX: yes
configure:     Test: yes
configure:   Remote: yes
configure:  Network: no
configure: Libvirtd: yes
configure:    netcf: no
configure:  macvtap: no
configure: virtport: no
configure: 
configure: Storage Drivers
configure: 
configure:      Dir: yes
configure:       FS: no
configure:    NetFS: no
configure:      LVM: no
configure:    iSCSI: no
configure:     SCSI: yes
configure:    mpath: no
configure:     Disk: no
configure: 
configure: Security Drivers
configure: 
configure:  SELinux: no
configure: AppArmor: no
configure: 
configure: Driver Loadable Modules
configure: 
configure:   dlopen: no
configure: 
configure: Libraries
configure: 
configure:   libxml: -I/opt/local/include/libxml2   -L/opt/local/lib -lxml2  
configure:  libcurl: -DCURL_DISABLE_TYPECHECK -I/opt/local/include   -L/opt/local/lib -lcurl  
configure:  libssh2:  
configure:   gnutls: -I/opt/local/include   -L/opt/local/lib -lgnutls   -lgcrypt
configure:     sasl:   -lsasl2
configure:     yajl:   -lyajl
configure:    avahi: no
configure:   polkit: no
configure:    audit: no
configure:  selinux: no
configure: apparmor: no
configure:  numactl: no
configure:    capng: no
configure:      xen: no
configure:   xenapi: no
configure:      hal: no
configure:     udev: no
configure:    netcf: no
configure:   xmlrpc: no
configure:     pcap: no
configure:       nl: no
configure:    mscom: no
configure:      xdr: 
configure: 
configure: Test suite
configure: 
configure:    Coverage: no
configure:   Alloc OOM: no
configure: 
configure: Miscellaneous
configure: 
configure:         Debug: yes
configure:      Warnings: maximum
configure:      Readline: yes
configure:        Python: yes
configure:        DTrace: no
configure:   XML Catalog: /opt/local/etc/xml/catalog
configure: 
configure: Privileges
configure: 
configure:       QEMU: root:root

*********************************************

With some persistence, it's also possible to get:

  + libssh2 support compiled in, although that can tricky as there doesn't
    seem to be a way to pass non "/usr/local" include directories to
    configure for it it

  + Avahi support can also be made to compile, but has a huge dependency
    chain on OSX so I don't bother.  That pulls in compiling of all X
    windows, no idea why.

  + libpcap.  I've seen it compile in before, but haven't really looked
    at what this gives.

Hope that's useful info. :)

Regards and best wishes,

Justin Clift




More information about the libvir-list mailing list