[libvirt] [Libvirt-announce] Libvirt 0.9.2 week freeze, RC2 available

Daniel P. Berrange berrange at redhat.com
Fri Jun 3 14:28:05 UTC 2011


On Fri, Jun 03, 2011 at 01:27:04PM +0200, Matthias Bolte wrote:
> 2011/6/2 Daniel Veillard <veillard at redhat.com>:
> >  I just pushed a second release candidate
> >    ftp://libvirt.org/libvirt/libvirt-0.9.2-rc2.tar.gz
> > with corresponding rpm builds, this includes the extrenal lock support.
> >
> > On Wed, Jun 01, 2011 at 12:49:52PM +0200, Ruben Kerkhof wrote:
> >> On Wed, Jun 1, 2011 at 10:31, Matthias Bolte
> >> <matthias.bolte at googlemail.com> wrote:
> >> > Works on Ubuntu 10.04, Windows (MinGW) and FreeBSD.
> >> >
> >> > Matthias
> >>
> >> Works on OSX 10.7.0, tested with VirtualBox 4.08
> >
> >  Excellent news, thanks !
> > I hope we didn't introduced regressions in portability with the latest
> > API additions ! If people could also try -rc2 it would be great too,
> >
> >  thanks !
> >
> > Daniel
> >
> 
> RC2 is broken on MinGW due to the lock manager using dlopen
> unconditional. The attached patch fixes it.
> 
> Still works on FreeBSD and Ubuntu 10.04.
> 
> Matthias

> From c734e683c4d9bbb5a87fba3e0008ce8000b62fe5 Mon Sep 17 00:00:00 2001
> From: Matthias Bolte <matthias.bolte at googlemail.com>
> Date: Fri, 3 Jun 2011 10:20:49 +0200
> Subject: [PATCH] Make dlopen usage in lock manager conditional
> 
> This fixes build failure on MinGW, due to MinGW not supporting dlopen.
> ---
>  src/locking/lock_manager.c |   20 +++++++++++++++++++-
>  1 files changed, 19 insertions(+), 1 deletions(-)
> 
> diff --git a/src/locking/lock_manager.c b/src/locking/lock_manager.c
> index 6197fd4..6293e6d 100644
> --- a/src/locking/lock_manager.c
> +++ b/src/locking/lock_manager.c
> @@ -29,7 +29,9 @@
>  #include "memory.h"
>  #include "uuid.h"
>  
> -#include <dlfcn.h>
> +#if HAVE_DLFCN_H
> +# include <dlfcn.h>
> +#endif
>  #include <stdlib.h>
>  #include <unistd.h>
>  
> @@ -115,6 +117,7 @@ static void virLockManagerLogParams(size_t nparams,
>   *
>   * Returns a plugin object, or NULL if loading failed.
>   */
> +#if HAVE_DLFCN_H
>  virLockManagerPluginPtr virLockManagerPluginNew(const char *name,
>                                                  unsigned int flags)
>  {
> @@ -187,6 +190,15 @@ cleanup:
>          dlclose(handle);
>      return NULL;
>  }
> +#else /* !HAVE_DLFCN_H */
> +virLockManagerPluginPtr virLockManagerPluginNew(const char *name ATTRIBUTE_UNUSED,
> +                                                unsigned int flags ATTRIBUTE_UNUSED)
> +{
> +    virLockError(VIR_ERR_INTERNAL_ERROR, "%s",
> +                 _("this platform is missing dlopen"));
> +    return NULL;
> +}
> +#endif /* !HAVE_DLFCN_H */
>  
>  
>  /**
> @@ -211,6 +223,7 @@ void virLockManagerPluginRef(virLockManagerPluginPtr plugin)
>   * result in an unsafe scenario.
>   *
>   */
> +#if HAVE_DLFCN_H
>  void virLockManagerPluginUnref(virLockManagerPluginPtr plugin)
>  {
>      if (!plugin)
> @@ -232,6 +245,11 @@ void virLockManagerPluginUnref(virLockManagerPluginPtr plugin)
>      VIR_FREE(plugin->name);
>      VIR_FREE(plugin);
>  }
> +#else /* !HAVE_DLFCN_H */
> +void virLockManagerPluginUnref(virLockManagerPluginPtr plugin ATTRIBUTE_UNUSED)
> +{
> +}
> +#endif /* !HAVE_DLFCN_H */
>  
>  
>  const char *virLockManagerPluginGetName(virLockManagerPluginPtr plugin)

ACK, I hit this yesterday but ran out of time to fix it


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