[Sussex] Xfce

Geoff Teale tealeg at member.fsf.org
Sat Oct 18 10:12:17 UTC 2003


Ed,

Kernel headers are the ".h" C files that come with the kernel.  

I'll try to explain these a little, but be warned this is an
over-simplified description and some things it says are not as black and
white as it suggests.

GlibC is the GNU C Library.  Whilst the Linux kernel does all the actual
work of controlling the computers hardware it is the GNU C Library that
represents the common point of access for almost all applications
running on top of Linux (this is one of the major components that RMS
talks about when he says we should call it  GNU/Linux).  

Unless you are linking you applications directly against kernel
libraries (a risky business if you plan for your application to still
work next week, or next month) GlibC is your friend.  GlibC defines the
POSIX compliant interface that makes Linux look the same as other POSIX
and X/Open compliant OS's to the programmer (and indeed the program).

GlibC in turn links into it's host kernel to do the actual work.  This
linking happens as part of the process of compiling a program.  Normally
you don't need header files to install binaries.  If you are building
something from source to link into something you already have a binary
for it only needs header files in order to link against that thing.  In
C and C++ header files contain what we call "prototype declarations" -
this explain what the interface to a certain module of code will be and
allow other parts of the program to call on that code.  This is why
glibc-devel needs the header files of the kernel.  The RPM glibc-devel
contains the header files for glibc (which you need to compile just
about anything fundemental on Linux) but these header files will in turn
require the headers for the kernel because they will make reference to
datatypes and functionality contained in the kernel.

I would imagine the easiest way to get Kernel header files on Red Hat
would just to install one of the Red Hat kernel source packages (make
sure this is the same kernel version as you are using).

-- 
Geoff Teale <tealeg at member.fsf.org>
Free Software Foundation





More information about the Sussex mailing list