I use to build eglibc with no problems, but recently the same build
does not work anymore.
Perhaps someone can tell me if this is a known problem or how to work
around it.
Problem:
The file sysdeps/unix/sysv/linux/ifaddrs.c gives me several undefined
symbols.
One of them is IFLA_RTA
Normally this symbol is defined in /usr/include/linux/rtnetlink.h
But with newer versions of linux, IFLA_RTA does not exist anymore.
I have being able to build eglibc with the following configuration
options
--enable-kernel=2.6.19 --with-headers=<..>
Note that linux 2.6.19 does not defines IFLA_RTA, but it happened that
the machine I used to do the cross-build had a 2.6.9 kernel.
Once the host was upgraded the build start failing.
So,
1) The --enable-kernel option is used to checked against internal
minimum version,
and assumes everything newer is ok. (i.e. it assumes that linux headers
are always backwards compatible). Is this desirable ? Is this a known
problem ?
2) It seems that the system headers are used even though I specified
--with-headers=<..>
I had the impression this option would prevent /usr/include to be used.
I checked that --with-headers=<.../include/linux/rtnetlink.h> does
*not* have
IFLA_RTA defined, but yet the build is successful in hosts with old
kernels...
Am I misunderstanding these options ?
Thanks
Edmar