From: Benjamin H. <be...@ke...> - 2002-10-21 16:08:36
|
>So if you get a "new" kernel it goes to /usr/src/linux-x.x.xx with a symlink >to /usr/src/linux and then you have to setup the (three) symlinks under >/usr/include. > >/usr/include> l asm* >lrwxrwxrwx 1 root root 26 Okt 6 04:50 asm -> >/usr/src/linux/include/asm >lrwxrwxrwx 1 root root 34 Okt 6 04:50 asm-generic -> >/usr/src/linux/include/asm-generic /usr/include> l linux >lrwxrwxrwx 1 root root 28 Okt 6 04:50 linux -> >/usr/src/linux/include/linux > >Worked for ages. Well, maybe, but it has always been the wrong thing to do, at least according to Linus, and this have been more of a problem with recent kernels. Some reasons are userland abuse of inline function declared in kernel headers, others are possibly type pollution, and finally, the simple fact that your glibc headers aren't just supposed to work with different kernel headers than the ones this glibc was built with (oh well....) Linus have been very clear about that several times. The "kernel" headers bundled by glibc in /usr/include/asm, /usr/include/linux/ etc... are "cooked" by the glibc folks they may not (and are probably not anymore) the exact kernel headers of a given kernel snapshot. If you need access to real up-to-date kernel headers, you'd rather go look at the symlink in /lib/modules/kernel_version/build if it exist, or ask the user (eventually fallback to /usr/src/linux). Ben. |