[PLUG] Compilation problems
Jonathan Sergent
sergent@csociety.purdue.edu
Mon, 07 Aug 2000 08:20:19 -0700
> The kernel header files usually stay in /usr/src/linux/include so that the
> current kernel's include files are available to a program requiring them.
That's actually not quite true anymore.
> I'm not sure why everyone seems to be having problems since if you need a
> include file from the kernel it should always be available in
> /usr/src/linux/include ... that is the best way to get it since you are
> suppose to symlink your current kernel's directory to /usr/src/linux
>
> Maybe I don't see the problem you guys are having.
>
> Copying everything from /usr/src/linux/include to /usr/include is a BAD
> idea since you'd have to do that everytime you complie a new kernel....
Not actually, because /usr/include/linux is supposed to have the headers
your C library was built against.
If you just install a new kernel, you should feel free to build it as
yourself (not as root) in your home directory, and don't make any
symlinks with /usr/src/linux or anywhere else.
Note that this was not always the case; before libc 6 in particular.
Your program's compatibility (binary-wise) should not depend on the
version of the kernel that is booted...
If /usr/include/linux is missing, then you have not installed one or more
of the packages from your distribution. Red Hat ships a kernel-headers
package with that in it; Debian ships those files as part of libc6-dev.
(RH puts them in /usr/src/linux and does the symlinks, but like I say,
that's just because they have always done it that way).
--jss.