[libvirt] [PATCHv2] build: force libnl1 if netcf also used libnl1

Guido Günther agx at sigxcpu.org
Thu Sep 13 09:13:57 UTC 2012


On Thu, Sep 13, 2012 at 03:19:40PM +0800, Osier Yang wrote:
> On 2012年09月13日 15:15, Guido Günther wrote:
> >On Wed, Sep 12, 2012 at 03:40:15PM -0600, Eric Blake wrote:
> >>On 09/12/2012 01:14 PM, Laine Stump wrote:
> >>>On 09/10/2012 06:14 PM, Eric Blake wrote:
> >>>>Recent spec file changes ensure that in distro situations, netcf
> >>>>and libvirt will link against the same libnl in order to avoid
> >>>>dumping core.  But for every-day development, if you are F17 and
> >>>>have the libnl3-devel headers available, libvirt was blindly
> >>>>linking against libnl3 even though F17 netcf still links against
> >>>>libnl1, making testing a self-built binary on F17 impossible.
> >>>>
> >>>>By making configure a little bit smarter, we can avoid this
> >>>>situation - we merely skip the probe of libnl-3 if we can prove
> >>>>that netcf is still using libnl-1.  I intentionally wrote the
> >>>>test so that we still favor libnl-3 if netcf is not installed or
> >>>>if we couldn't use ldd to determine things.
> >>>>
> >>>>Defaults being what they are, someone will invariably complain
> >>>>that our smarts were wrong.  Never fear - in that case, just run
> >>>>./configure LIBNL_CFLAGS=..., where the fact that you set
> >>>>LIBNL_CFLAGS (even to the empty string) will go back to probing
> >>>>for libnl-3, regardless of netcf's choice.
> >>>
> >>>This method of forcing libnl-3 is a bit obscure, but it will be used
> >>>infrequently enough (possibly never? :-P) that I'm okay doing it that
> >>>way, as long as you add a comment to configure.ac briefly explaining it
> >>>(as you've done in the commit message). ACK with that added.
> >>
> >>Done and pushed.
> >
> >Since this went in ./configure fails on Debian with a netcf linked
> >against libnl1:
> >
> >configure:66379: $PKG_CONFIG --exists --print-errors "libnl-3.0"
> >Package libnl-3.0 was not found in the pkg-config search path.
> >Perhaps you should add the directory containing `libnl-3.0.pc'
> >to the PKG_CONFIG_PATH environment variable
> >No package 'libnl-3.0' found
> >configure:66382: $? = 1
> >configure:66396: $PKG_CONFIG --exists --print-errors "libnl-3.0"
> >Package libnl-3.0 was not found in the pkg-config search path.
> >Perhaps you should add the directory containing `libnl-3.0.pc'
> >to the PKG_CONFIG_PATH environment variable
> >No package 'libnl-3.0' found
> >configure:66399: $? = 1
> >configure:66413: result: no
> >No package 'libnl-3.0' found
> >configure:66429: error: Package requirements (libnl-3.0) were not met:
> >
> >Full log is at:
> >
> >http://honk.sigxcpu.org:8001/job/libvirt-build/60/console
> >
> >I didn't have a chance to have a closer look yet.
> >Cheers,
> 
> Should be fixed by commit 51b708c63ee.
Unfortunately it still fails:
    http://honk.sigxcpu.org:8001/job/libvirt-build/62/console 

Cheers,
 -- Guido




More information about the libvir-list mailing list