GNU libc installation to setup cross compiler env - kernel header file TOO OLD !!
HI, I am trying to setup my cross compiler environment and have reached the last step of installing GNU libc.
The following files are used:
Installation procedure as follows:
gzip -cd glibc-2.0.6.tar.gz | tar xf -
gzip -cd glibc-crypt-2.0.6.tar.gz | tar xf -
gzip -cd glibc-localedata-2.0.6.tar.gz | tar xf -
gzip -cd glibc-linuxthreads-2.0.6.tar.gz | tar xf -
patch -p1 < ../glibc-2.0.6-mips.patch
Single line Command run:
CC=mipsel-linux-gcc BUILD_CC=gcc AR=mipsel-linux-ar RANLIB=mipsel-linux-ranlib
../configure --prefix=/usr --host=mipsel
At this point, the following error message was shown:
checking installed Linux Kernel header files.. TOO OLD!
configure:error:GNU Libc requires kernel header files from Linux2.0.10 or later to be installed before configuring. The kernel header files are found usually in /usr/include/asm and /usr/include.linux; make sure these directories use files from Linux2.0.10 or later. This check uses <linux/version.h>, so make sure that file was built correctly when installing the kernel header files.
What's the causes of this error to occur since my kernel version is 2.2 using kernelversion command? Or is there a bug? What other method can I use to install glibc which is to compile an application for TX39 target board.
Well depending on which distribution you use the kernel headers are either copied in /usr/include/linux or that's a symbolic link to /usr/src/linux/include. These headers should be the ones belonging to the original kernel when the system was installed. Usually when you compile a new kernel you should leave the old headers in place, because other programs where compiled using those headers. One of the main ones being glibc. If you are going to be replacing glibc then you could probably just replace the old headers with the new ones from the newer kernel you are running.
The book from www.linuxfromscratch.org explains more about this.
|All times are GMT -5. The time now is 07:30 AM.|