serious doc error

Albert Cahalan mol-general@lists.maconlinux.org
14 Feb 2004 15:00:33 -0500


This page will trash somebody's system:
http://www.maconlinux.com/userguide/compile.html

The error:

> (iii) Verify that the symbolic links are setup
> correctly. Some distributions are sadly broken...
> It should look like this:
>   /usr/include/linux -> /usr/src/linux/include/linux
>   /usr/include/asm -> /usr/src/linux/include/asm

Sorry, but this isn't BSD. It's not libc 5 either.
It's not even SysV. We're dealing with modern Linux.

Among many examples, sizeof(uid_t) has changed.
The headers you compile apps with MUST match
what your library expects, even if the kernel
is using some other size. As a courtesy to any
remaining libc 5 users, the kernel headers give
a 16-bit uid_t unless __KERNEL__ is defined.
If you simply define that though, you'll get
data types that conflict with what libc 6 uses.
You'll also get assembly code that may involve
privileged instructions.

Bring up the issue on linux-kernel if you dare,
but be sure to put on your asbestos underwear.
Meanwhile, stop giving destructive advice.

BTW, the advice makes no sense anyway. The kernel
running now, the kernel used to compile libc,
and the kernel I will boot next may all differ.
Assuming I'm not dumb enough to be compiling as
root, the right kernel source tree is probably
in my $HOME directory.