[libvirt] [PATCH] build: require libnl-3 if netcf uses it

Daniel P. Berrange berrange at redhat.com
Wed Sep 11 08:15:26 UTC 2013


On Tue, Sep 10, 2013 at 11:52:00AM -0600, Eric Blake wrote:
> ping; I'm debating about pushing this under the build-breaker rule
> 
> On 09/04/2013 03:19 PM, Eric Blake wrote:
> > Commits 9298bfb and f6c2951 both tried to make it possible to
> > select the correct libnl (1 vs. 3) according to what netcf
> > used, when both libraries are installed.  This works to avoid
> > libnl-3 when netcf used libnl-1.  But on the converse side, if
> > only libnl-1 development code is installed, while netcf uses
> > libnl-3, then configure happily uses libnl-1 anyways, leading
> > to a test failure:
> > 
> > $ VIR_TEST_DEBUG=1 ./virdrivermoduletest
> > TEST: virdrivermoduletest
> >  1) Test driver "network"                                             ... OK
> >  2) Test driver "storage"                                             ... OK
> >  3) Test driver "nodedev"                                             ... OK
> >  4) Test driver "secret"                                              ... OK
> >  5) Test driver "nwfilter"                                            ... OK
> >  6) Test driver "interface"
> > ... lt-virdrivermoduletest: route/tc.c:973: rtnl_tc_register: Assertion
> > `0' failed.
> > Aborted
> > 
> > It's much nicer to prevent this at configure time, by requiring that
> > if we know what netcf used, then we want the same libnl version.  As
> > before, this can be bypassed by someone who knows what they are doing
> > by setting LIBNL_CFLAGS (perhaps useful to the rare person where the
> > build box has a different version of netcf than the installation box).
> > 
> > * configure.ac (LIBNL): If we can prove netcf used libnl-3, then
> > don't let configure succeed with libnl-1.
> > 
> > Signed-off-by: Eric Blake <eblake at redhat.com>
> > ---
> >  configure.ac | 3 +++
> >  1 file changed, 3 insertions(+)
> > 
> > diff --git a/configure.ac b/configure.ac
> > index f853e03..9950e3e 100644
> > --- a/configure.ac
> > +++ b/configure.ac
> > @@ -2416,6 +2416,9 @@ if test "$with_linux" = "yes"; then
> >          fi
> >      done
> >      case $libnl_ldd:${LIBNL_CFLAGS+set} in
> > +        *libnl-3.so.*:) LIBNL_REQUIRED=3.0 ;;
> > +    esac
> > +    case $libnl_ldd:${LIBNL_CFLAGS+set} in
> >          *libnl.so.1*:) ;;
> >          *)
> >          PKG_CHECK_MODULES([LIBNL], [libnl-3.0], [
> > 


ACK


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