On Fri, Feb 4, 2011 at 9:45 AM, Ben Pfaff <[email protected]> wrote: > On Thu, Feb 03, 2011 at 05:42:59PM -0800, Jesse Gross wrote: >> On Thu, Feb 3, 2011 at 4:04 PM, Ben Pfaff <[email protected]> wrote: >> > Red Hat Enterprise Linux 6 has a 2.6.32 kernel but it backports the >> > rtnl_link_stats64 structure that was introduced in 2.6.35, so we need to >> > check whether it was defined instead of just guessing based on the kernel >> > version number. >> > >> > Build-tested only, on 2.6.32-71.14.1.el6 (RHEL 6), >> > linux-2.6.18-128.1.6.el5.xs5.5.0.496.101 (XenServer 5.5.0), >> > 2.6.18-128.1.6.el5.xs5.5.0.505.1024xen (XenServer 5.5.0 update 1), >> > and upstream 2.6.18, 2.6.26, 2.6.29, 2.6.33, 2.6.34, 2.6.36, all for i386, >> > plus 2.6.36 for x86-64. >> > >> > My machine's userspace headers have <linux/if_link.h> but not >> > rtnl_link_stats64. ?I didn't test with other userspace headers. >> >> The problem that I ran into (and with this as well) is that the >> userspace header check never finds rtnl_link_stats64 even if it >> exists. So on my machine, which has 2.6.35 userspace and kernel, I >> get: > > When I edited my /usr/include/linux/if_link.h by hand to include > rtnl_link_stats64, everything built fine. So something else must be in > play here. What's in config.log regarding rtnl_link_stats64? > > What distro is on your machine?
It's Ubuntu 10.10 but I found the problem: if_link.h includes netlink.h which uses sa_family_t which is defined in linux/socket.h but only in the kernel. If I add sys/socket.h to the include list in the macro everything works fine. _______________________________________________ dev mailing list [email protected] http://openvswitch.org/mailman/listinfo/dev_openvswitch.org
