[meta-virtualization] Error building libvirt with pcap development files installed.

Bruce Ashfield bruce.ashfield at gmail.com
Wed Apr 8 10:24:10 PDT 2015


On Wed, Apr 8, 2015 at 1:14 AM, Michael Matera
<matera at lifealgorithmic.com> wrote:
> Hello folks!
>
> This is my first post so I'll try to make it a good one. I ran into some

:). welcome!

> trouble building kvm-image-minimal on Ubuntu 14.04 I suspect because I have
> the libpcap0.80-dev package installed on my build host. Here's some details:
>
> BB_VERSION        = "1.24.0"
> BUILD_SYS         = "x86_64-linux"
> NATIVELSBSTRING   = "Ubuntu-14.04"
> TARGET_SYS        = "x86_64-poky-linux"
> MACHINE           = "genericx86-64"
> DISTRO            = "poky"
> DISTRO_VERSION    = "1.7.1"
> TUNE_FEATURES     = "m64 core2"
> TARGET_FPU        = ""
> meta
> meta-yocto
> meta-yocto-bsp    = "dizzy:ec75238f6cc2d2d8d40e0268f6d2acc070cbe9a4"
> meta-virtualization = "dizzy:8ec8270017fbeae8fcb8c2d82a60a9f5116b0cf2"
> meta-python
> meta-oe
> meta-networking
> meta-filesystems  = "dizzy:2ebb8752f378c9987b0ece5a14915d703b872c1d"
>
> Looking in the log I see:
>
>   /usr/lib/x86_64-linux-gnu/libdevmapper.so: undefined reference to
> `matchpathcon'
>
> It seems that the compiler already warned me about this:
>
>   warning: library search path "/usr/lib/x86_64-linux-gnu" is unsafe for
> cross-compilation
>
> Going back to log.do_configure, I see:
>
>   configure:     pcap: -I/usr/include -L/usr/lib/x86_64-linux-gnu  -lpcap
>
> This is clearly not right and it shows me that libvirt needs to be
> configured with a specific location for libpcap. My fix, if you can call it
> that, is to pass --without-pcap to configure. I did that by adding the
> following line to libvirt_1.2.8.bb:
>
> PACKAGECONFIG[libpcap] =
> "--with-libpcap=MIKEKNOWSNOT,--without-libpcap,libpcap,"

We have libpcap as a dependency for libvirt, so while the package config
value works to disable the option, what we need is to point libvirt's
configuration
phase to the sysroot, where our target version of libpcap can be found.

That's fundamentally the same thing you are asking above, just without
packageconfig injecting it into the configuration phase.

.. I went and had a look at how libvirt deals with libpcap and that flag
doesn't do what you expect in the --with usage .. it only points to a different
location for pcap-config. pcap-config is stubbed out in our system, so that
will never work.

As it turns out, everyone has had a floating or mis identified libcap (my
config.log doesn't find it, and hence just has 'no').

I pulled together the attached patch, it allows my libpcap from the sysroot
to be found and used for the build.

I didn't do any runtime testing, but if it works for you, I'll push it
to the tree
shortly.

Cheers,

Bruce

>
> I'm new to Yocto so I haven't read the 2,000 page reference manual closely
> enough to properly formulate a better PACKAGECONFIG line. Perhaps you could
> help me with that. :-) In any case, libvirt compiles fine without libpcap
> and kvm-image-minimal is now built. I'm looking forward to testing it.
>
> Cheers
> ./m
>
>
>
> --
> _______________________________________________
> meta-virtualization mailing list
> meta-virtualization at yoctoproject.org
> https://lists.yoctoproject.org/listinfo/meta-virtualization
>



-- 
"Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end"
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-libvirt-use-pkg-config-to-locate-libcap.patch
Type: text/x-patch
Size: 3560 bytes
Desc: not available
URL: <http://lists.yoctoproject.org/pipermail/meta-virtualization/attachments/20150408/b5b45070/attachment-0001.bin>


More information about the meta-virtualization mailing list