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

Eric Blake eblake at redhat.com
Tue Sep 10 17:52:00 UTC 2013


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], [
> 

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 621 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20130910/b44e5343/attachment-0001.sig>


More information about the libvir-list mailing list