[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[issues] Building eglibc on systems with recent linux kernels
- To: issues@xxxxxxxxxx, Steve Papacharalambous <stevep@xxxxxxxxxxxxx>
- Subject: [issues] Building eglibc on systems with recent linux kernels
- From: Edmar Wienskoski-RA8797 <edmar@xxxxxxxxxxxxx>
- Date: Thu, 18 Dec 2008 15:17:47 -0600
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