On Sat, Aug 25, 2012 at 1:48 PM, Laine Stump <laine(a)laine.org> wrote:
(pushing under the build breaker rule)
When libvirt_lxc is built, it uses the utility library and #includes
virnetdev.h, which #includes virnetlink.h, which includes
<netlink/msg.h>.
Normally, the netlink include directory would be just off
/usr/include, so that wouldn't create a problem, but on Fedora and
RHEL systems using libnl3, the libnl includes have been moved into
/usr/include/libnl3 (to allow concurrent installation of libnl-1.1).
All other binaries that need it have added $(LIBNL_CFLAGS) to their
CFLAGS, but not libvirt_lxc, so it fails to build on Fedora and RHEL
that have only libnl3-devel installed. This was previously unnoticed
because everyone was building with libnl headers in
/usr/include/netlink (even on systems with the headers in
/usr/include/libnl3/netlink, many people (like me) usually also have
the libnl1.1 headers in /usr/include/netlink).
This patch adds the necessary CFLAGS for libvirt_lxc.
Note that we don't need to add $(LIBNL_LIBS) to the LDADD for this
binary, because it never directly calls libnl functions, but only
calls them indirectly through the util library, which it's already
linking against.
---
src/Makefile.am | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/Makefile.am b/src/Makefile.am
index 995e032..95e1bea 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1650,7 +1650,8 @@ libvirt_lxc_LDADD += $(APPARMOR_LIBS)
endif
libvirt_lxc_CFLAGS = \
-I$(top_srcdir)/src/conf \
- $(AM_CFLAGS)
+ $(AM_CFLAGS) \
+ $(LIBNL_CFLAGS)
if HAVE_LIBBLKID
libvirt_lxc_CFLAGS += $(BLKID_CFLAGS)
libvirt_lxc_LDADD += $(BLKID_LIBS)
--
1.7.11.4
Despite not needing an ACK. ACK anyway because I had to do the same
thing for Gentoo just now since we install libnl3 the same way as
Fedora.
--
Doug Goldstein