Followup to: <[email protected]>
By author: [email protected] (Miquel van Smoorenburg)
In newsgroup: linux.dev.kernel
> >> Everything in /usr/include belongs to and depends on glibc, not
> >> the currently running kernel.
> >Unfortunately that doesn't work very well. For user-space daemons
> >which talk to Linux-specific kernel interfaces, such as automount, you
> >need both the glibc and the Linux kernel headers.
> Yes, but you can't mix&match anyway. For stuff like that you're
> probably best off by using a talktokernel.c file that is
> compiled with -I/path/to/kernel/include while the rest of the
> daemon doesn't know about kernel internals.
> That could and perhaps should be fixed, but I think that is
> a different issue entirely.
For most kernel interface daemons, that is not an option. You need to
be able to translate (or just transfer information) between
glibc-provided and kernel-provided data structures, so you need to be
able to include all the datatypes.
Let's get this straight: #include <linux/*> and #include <asm/*> are
*expected* to be the kernel headers. This is a completely different
issue from the fact that glibc headers shouldn't #include these
headers like libc5 did.
<[email protected]> at work, <[email protected]> in private!
"Unix gives you enough rope to shoot yourself in the foot."
In article <[email protected]> you [email protected] wrote:
>Let's get this straight: #include <linux/*> and #include <asm/*> are
>*expected* to be the kernel headers. This is a completely different
>issue from the fact that glibc headers shouldn't #include these
>headers like libc5 did.
And IMHO to be able to do this, one should have to provide an explicit
-I/usr/src/my-kernel/linux/include, it should not be the default.
"Just how much can I get away with and still go to heaven?"