It looks like libnl renamed /usr/include/libnl3/netlink/object-api.h to object.h workaround to allow building ln -s /usr/include/libnl3/netlink/object.h /usr/include/libnl3/netlink/object-api.h That fixes the build problem but I don't use the package so I cannot test it to see if it works.
confirm
Created attachment 336684 [details] build.log Probably broken by this change here: https://github.com/tgraf/libnl/commit/f20bbe1f07fcff1509425884f5ed72ca8d5fb6ab "Their API is marked unstable in the documentation and nobody is using them so far." That said, net-misc/networkmanager-0.9.6.4 does appear to build and run fine here if I simply "touch /usr/include/libnl3/netlink/object-api.h".
Confirm that the ln workaround mentioned in the first comment allows the compile to succeed. NetworkManager compiled this way works fine.
I thought I fixed all of the problems. Upstream already fixed some of the issues and appears to have rerolled the release, but it wasn't enough, I guess. It's package.masked for now.
I cannot reproduce the problem :/ networkmanager-0.9.6.4 builds fine against libnl-3.2.20 on my machine with the same use flags as in the log attached in comment #0. If you are experiencing this problem, please post your emerge --info. Maybe the failure only manifests when using certain flags or a specific gcc version.
(In reply to comment #5) > attached in comment #0. should be: as attached in comment #2
Created attachment 336690 [details] emerge --info
Found a way to reproduce. Failure does not appear if libnl-1.1-r3 and libnl-3.2.20 are installed at the same time; but if only libnl-3.2.20 is installed, networkmanager-0.9.6.4 does indeed fail to build.
Fixed in cvs without a revision bump; patch submitted upstream at https://bugzilla.gnome.org/show_bug.cgi?id=692423 Jeroen, feel free to unmask libnl-3.2.20 now :) + 24 Jan 2013; Alexandre Rostovtsev <tetromino@gentoo.org> + -networkmanager-0.9.4.0-r5.ebuild, -networkmanager-0.9.4.0-r7.ebuild, + -networkmanager-0.9.6.0.ebuild, + -files/networkmanager-0.9.6.0-cached-ipv6-routes-1.patch, + -files/networkmanager-0.9.6.0-cached-ipv6-routes-2.patch, + networkmanager-0.9.6.4.ebuild, + +files/networkmanager-0.9.6.4-object-api.h.patch: + Fix build failure with libnl-3.2.20 (bug #453736, thanks to Harris + Landgarten, Ben Kohler et al.); drop old.
*** Bug 453766 has been marked as a duplicate of this bug. ***
Please be careful with this patch, as it breaks NetworkManager with libnl < 3.2.20! See comments in: https://bugzilla.gnome.org/show_bug.cgi?id=692423
NM commit in master that fixes that: commit ff15a5e8fbe2e8e7199d84c96d4b2f3c60cb8550 Author: Pavel Šimerda <psimerda@redhat.com> Date: Thu Jan 24 20:40:25 2013 +0100 netlink: workaround to build against libnl3 < 3.2.20 Commit 418a428 fixed building against libnl3 >= 3.2.20 but due to a bug in libnl it also prevents building against libnl3 < 3.2.20. See https://bugzilla.gnome.org/show_bug.cgi?id=692423 diff --git a/src/nm-netlink-monitor.c b/src/nm-netlink-monitor.c index 5bbf500..4d0b0c5 100644 --- a/src/nm-netlink-monitor.c +++ b/src/nm-netlink-monitor.c @@ -38,6 +38,10 @@ #include <linux/if.h> #include <linux/unistd.h> #include <unistd.h> +#include <netlink/version.h> +#if LIBNL_VER_NUM == LIBNL_VER (3, 2) && LIBNL_VER_MIC < 20 +#include <netlink/object-api.h> +#endif #include <netlink/object.h> #include <netlink/route/addr.h> #include <netlink/route/rtnl.h>
(In reply to comment #12) Pavel, thanks for catching my mistake. Unfortunately, we can't apply your patch in portage since it's incompatible with libnl-1.1 and USE=wimax :/ Since the new libnl-3.2.21 release installs a minimal variant of object-api.h for compatibility, I am simply going to remove my patch from the networkmanager-0.9.6.4 ebuild. + 25 Jan 2013; Alexandre Rostovtsev <tetromino@gentoo.org> + networkmanager-0.9.6.4.ebuild, + -files/networkmanager-0.9.6.4-object-api.h.patch: + Remove the patch, since it apparently causes problems when building against + older libnl:3 releases (thanks to Pavel Šimerda). Instead, simply mark + networkmanager as incompatible with =libnl-3.2.20, since libnl-3.2.21 + installs object-api.h again.
*** Bug 453912 has been marked as a duplicate of this bug. ***