Opening feisty and Merges

Fabio Massimo Di Nitto fabbione at ubuntu.com
Wed Nov 1 07:29:14 GMT 2006


Hi guys,

as i am 100% sure you know, we are about to open feisty (toolchain is almost in
place and please don't start asking *when*. It will open when it's ready), a
bunch of packages will fail to build due to some kernel header changes.

I did a quick rebuild of edgy/main on the new toolchain and the most frequent
failure is due a split in linux/if_*.h split up and removal of 4 macros.

If your package show errors like:

iface-linux.c:105: warning: implicit declaration of function 'IFLA_RTA'

or

iface-linux.c:198: error: 'IFA_ADDRESS' undeclared (first use in this function)

first of all you want to #include <linux/if_addr.h> for the definitions
and add in your code something similar to:

#ifndef IFLA_RTA
#define IFLA_RTA(r)  ((struct rtattr*)(((char*)(r)) + NLMSG_ALIGN(sizeof(struct
ifinfomsg))))
#endif

You can get all the 4 definitions from
http://people.ubuntu.com/~fabbione/local-2.6.19-linux-libc-dev.diff

Just to make this clear, it is NOT a kernel bug and they need to be fixed in
userland. Those macro were dead code in the kernel and userland needs to cope
with them.

The reason why i am #ifndef'ing the define is that will allow you to test build
with older headers while waiting for the new one without breaking compatibility.
It is really up to you to decide if you want to use that approach or not.

Happy merging.
Fabio

-- 
I'm going to make him an offer he can't refuse.



More information about the ubuntu-devel mailing list