** Reply to message from Michael Fratoni <[EMAIL PROTECTED]> on Thu, 27 Mar 2003 18:58:14 -0500
> -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > On Thursday 27 March 2003 03:05 am, Jack Bowling wrote: > > ** Reply to message from Michael Fratoni > > on Wed, 26 Mar 2003 23:08:22 -0500 > > > > On Wednesday 26 March 2003 04:14 pm, Robert P. J. Day wrote: > [...] > > > > so, before i spend a lot of time on this, what is the function > > > > of that symlink, and could having it point at a non-existent > > > > kernel source directory be causing the rebuild of my NVIDIA > > > > kernel src rpm to blow up with dozens of parse errors from > > > > include files? > [...] > > > > (not having the kernel source directory for the current running > > > > kernel doesn't affect anything else -- system runs fine otherwise.) > > > > > > But building kernel modules will fail, as modules require the headers > > > from the kernel tree, not the headers installed in > > > /usr/include/linux/, (which are the headers glibc was compiled with, > > > and are provided by the glibc-kernheaders package). Any kernel module > > > that tries to include system headers should generate warning messages > > > similar to: > > > #warning Using kernel header in userland! > > > #warning Using kernel headers in userspace. > > > > > > In the case above, if /lib/modules/`uname -r`/build is a broken link, > > > the build will fail with the above warnings followed by many parse > > > errors. > > > > > > So, the short version is reinstall the kernel-source package if you > > > want to build kernel modules. > > > > And most drivers will not be able to build until you do a "make > > oldconfig" and "make dep" in the kernel source tree. > > I used to think so as well. And I'm sure I had to do both in the past at > some point. However on the Pheobe list, this was disputed by > Arjan van de Ven. > (https://listman.redhat.com/pipermail/phoebe-list/2003-January/000762.html) > > I'll quote the relevent parts of the mail message: > Begin quote: > > > make oldconfig > > make dep > > > > ** THEN you can compile stuff against that kenel (like spca-50x driver > > or wlan-ng drivers, vmware, etc etc.. but I have had better luck just > > modifying the config file and using the built in wireless drivers :) > > (peruse the psyche-list for examples) > > (To which Arjan replied:) > > I'm sorry to say it but you're full of shit here ;) > All you just achieved is that you've blown away the proper kernel symbol > version setup you need to compile against the kernel. > > 1) The *ONLY* place the kernel headers of the current kernel live is > /lib/modules/`uname -r`/build/include > not /usr/include/linux, not /usr/include/linux-2.4 not anything else > this is per Linus' decree fwiw Interesting. Take a look at this: /usr/lib/modules/2.4.18-14]$ ll total 336 lrwxrwxrwx 1 root root 32 Feb 16 23:42 build -> ../../../usr/src/linux-2.4.18-14 drwxr-xr-x 9 root root 4096 Feb 16 23:42 kernel -rw-r--r-- 1 root root 94610 Feb 17 01:10 modules.dep -rw-r--r-- 1 root root 31 Feb 17 01:10 modules.generic_string -rw-r--r-- 1 root root 147 Feb 17 01:10 modules.ieee1394map -rw-r--r-- 1 root root 8257 Feb 17 01:10 modules.isapnpmap -rw-r--r-- 1 root root 29 Feb 17 01:10 modules.parportmap -rw-r--r-- 1 root root 94767 Feb 17 01:10 modules.pcimap -rw-r--r-- 1 root root 24 Feb 17 01:10 modules.pnpbiosmap -rw-r--r-- 1 root root 95129 Feb 17 01:10 modules.usbmap drwxr-xr-x 2 root root 4096 Feb 16 23:42 pcmcia > > 2) You do NOT need all these steps; the headers RHL ships by default > Just Work(tm) and will generate a module for the currently running > kernel. The key being "that RHL ships". Lots of people roll their own kernels on RH boxes. jb -- Jack Bowling mailto:[EMAIL PROTECTED] Prince George, BC -- redhat-list mailing list unsubscribe mailto:[EMAIL PROTECTED] https://listman.redhat.com/mailman/listinfo/redhat-list