include/linux/genetlink.h out of date

Johannes Stezenbach js at sig21.net
Tue Nov 10 12:14:24 EST 2009


Hi,

(please Cc: me on replies as I'm not subscribed)

I needed to cross compile the nl80211 iw utility, and it failed with the
following error:

  genl.c: In function 'family_handler':
  genl.c:45: error: 'CTRL_ATTR_MCAST_GROUPS' undeclared (first use in this function)
  genl.c:45: error: (Each undeclared identifier is reported only once
  genl.c:45: error: for each function it appears in.)
  genl.c:49: error: 'CTRL_ATTR_MCAST_GRP_MAX' undeclared (first use in this function)
  genl.c:54: error: 'CTRL_ATTR_MCAST_GRP_NAME' undeclared (first use in this function)
  genl.c:55: error: 'CTRL_ATTR_MCAST_GRP_ID' undeclared (first use in this function)
  genl.c:49: warning: unused variable 'tb_mcgrp'

This is caused by an out-of-date include/linux/genetlink.h in
the libnl sources.  If I remove the file, the genetlink.h which
is part of my toolchain is used and compilation succeeds.


Note: Looking at iw's Makefile there is a hint that
a libnl-2.0 should exist, but I could not find any release
tarballs, and no v2.0 tag in git://git.kernel.org/pub/scm/libs/netlink/libnl.git

Thus I used libnl-1.1 sources from Debian sid.  However, the
out-of-date genetlink.h is still part of today's libnl git.
I wonder about the status of libnl-2.0?  Is it released and
ready to be used?  Debian has not picked it up yet, and
the debian/watch file refers to
http://people.suug.ch/~tgr/libnl/files/libnl-(\d+.*)\.tar\.gz
which doesn't work anymore...

BTW, the build works on native Debian because 'pkg-config --cflags libnl-1'
returns nothing, thus the genetlink.h from /usr/include/linux/ is used.
This was caused by empty Cflags: in libnl-1.pc.in, which seems
fixed in libnl-2.0.pc.in.


Thanks
Johannes



More information about the libnl mailing list