On Tue, Aug 28, 2012 at 4:19 AM, Peter Krempa <pkrempa@xxxxxxxxxx> wrote: > On 08/27/12 23:09, Eric Blake wrote: >> On 08/24/2012 10:19 AM, Eric Blake wrote: >> >>> Ah, that rings a bell, I knew I'd seen this issue before. I'm actually >>> surprised it STILL hasn't been fixed in Ubuntu, and maybe it's time to >>> apply the workaround below as a build-breaker fix (I think I've posted >>> it on list before, but never committed it). >>> >> >>> >>> diff --git i/src/util/virnetlink.h w/src/util/virnetlink.h >>> index 1982dae..82154de 100644 >>> --- i/src/util/virnetlink.h >>> +++ w/src/util/virnetlink.h >>> @@ -26,7 +26,11 @@ >>> >>> # if defined(__linux__) && defined(HAVE_LIBNL) >>> >>> +/* Work around a bug where older libnl-1 headers expected older gcc >>> + * semantics of 'extern inline' that conflict with C99 semantics. */ >>> +# define inline >>> # include <netlink/msg.h> >>> +# undef inline >> >> I've now pushed this under the build-breaker rule. >> > > This breaks the build with libnl3: > > CC libvirt_util_la-virnetdevbridge.lo > cc1: warnings being treated as errors > /usr/include/libnl3/netlink/list.h:21:20: error: 'NL_INIT_LIST_HEAD' defined but not used [-Wunused-function] > /usr/include/libnl3/netlink/list.h:37:20: error: 'nl_list_add_tail' defined but not used [-Wunused-function] > /usr/include/libnl3/netlink/list.h:43:20: error: 'nl_list_add_head' defined but not used [-Wunused-function] > /usr/include/libnl3/netlink/list.h:49:20: error: 'nl_list_del' defined but not used [-Wunused-function] > /usr/include/libnl3/netlink/list.h:55:19: error: 'nl_list_empty' defined but not used [-Wunused-function] > /usr/include/libnl3/netlink/object.h:60:23: error: 'nl_object_priv' defined but not used [-Wunused-function] > cc1: error: unrecognized command line option "-Wno-suggest-attribute=const" > cc1: error: unrecognized command line option "-Wno-suggest-attribute=pure" > make[3]: *** [libvirt_util_la-virnetdev.lo] Error 1 > > That annoying libnl-1 bug exists also in other distros that for some reason > refuse to fix it (e.g. gentoo) but upgrading to libnl3 helps and libvirt > compiles cleanly. > > Libnl3 unfortunately has some inline functions in the header files where > removing the inline keyword is catastrophic. I vote for reverting this patch > and have distros apply that long-known trivial patch that fixes libnl-1 headers > rather than breaking libnl3 support. > > Peter > > Erm. Gentoo doesn't have the issue. I mentioned that Gentoo has the same fix that Fedora had which was the commit from upstream applied. The broken distro was Ubuntu 10.04, which I believe is a LTS release. The other mention of Gentoo I made was that we put libnl3 headers in the same path that Fedora does to support parallel installs of libnl1 and libnl3. -- Doug Goldstein -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list