From: Robby Workman on 3 Nov 2009 01:32 On 2009-11-01, Henrik Carlqvist <Henrik.Carlqvist(a)deadspam.com> wrote: > ".Martin." <xtd8865(a)gmail.com> wrote: >> Henrik Carlqvist wrote: >>> you are supposed to have the same kernel headers which >>> was used to compile your installed glibc. > >> Does that mean that I'm supposed to install the >> kernel-headers for the stock slackware kernel (29.x)? > > Yes, reinstalling the kernel-headers package will give you the right .h > files which match your installed glibc. > > There is one possible case when headers matching the used kernel is needed > and that is when compiling kernel modules. However, mostly you will only > compile normal programs and then these headers are the ones that you want. Anything building kernel modules will use this instead of the system headers: /lib/modules/$(uname -r)/source/include/ If it doesn't, then it's broken, and that's no reason to break your own system. :-) -RW
From: .Martin. on 3 Nov 2009 03:20 Robby Workman wrote: > On 2009-11-01, goarilla <kevin.paulus(a)skynet.remove-this.be> wrote: >> On Sun, 01 Nov 2009 12:45:29 +0000, .Martin. wrote: >> >>> Henrik Carlqvist wrote: >>>> ".Martin." <xtd8865(a)gmail.com> wrote: >>>>> I compiled a new kernel (31.5). Everything works fine, apart from one >>>>> thing: I can't compile new programs. When I ./configure or use sbopkg >>>>> I get the following errors: >>>>> >>>>>> /usr/include/bits/local_lim.h:39:26: error: linux/limits.h: No such >>>>>> file or directory >>>>> I can guess why I get such errors. I probably don't heave >>>>> kernel-headers for the new kernel. >>>> You are not supposed to have kernel headers for your new kernel. When >>>> compiling programs you are supposed to have the same kernel headers >>>> which was used to compile your installed glibc. >>>> >>>> regards Henrik >>> Thanks for your reply. Does that mean that I'm supposed to install the >>> kernel-headers for the stock slackware kernel (29.x)? >>> >> maybe you can fix it differently >> it seems /usr/include/linux/limits.h doesn't exist >> >> it ought to be the same file as /usr/src/linux/include/linux/limits.h >> so maybe you could copy /usr/src/linux/include/linux to /usr/include/ >> >> because i don't think the kernel headers from 29.x vs 31.5 >> differ that much (someone mentioned 30.x and onwards are the same) >> >> i don't know if it's the right way to do tho >> iirc most distro's seem to symlink /usr/src/linux/include/linux to /usr/ >> include/linux. while in slackware the kernel headers are seperate files >> from /usr/src/linux > > > It's DEFINITELY NOT the right way to do it. > > http://www.linuxquestions.org/questions/slackware-14/compiling-a-new-kernel-579618/?postcount=11 > > The context is not quite the same, but the points are still relevant > and still apply to this situation. In short, you should NEVER upgrade > the kernel-headers package (or replace or remove the installed headers > in /usr/include/) except with an official package created FOR that > SAME version of Slackware. Sure there are exceptions to that, but > you won't be encountering any of them until you can explain why they > are exceptions, and once you reach that point, you'll not want to > bother with them :-) > > -RW Thanks Robby
From: .Martin. on 3 Nov 2009 03:21 Robby Workman wrote: > On 2009-11-01, .Martin. <xtd8865(a)gmail.com> wrote: >> goarilla wrote: >>> On Sun, 01 Nov 2009 12:45:29 +0000, .Martin. wrote: >>> >>>> Henrik Carlqvist wrote: >>>>> ".Martin." <xtd8865(a)gmail.com> wrote: >>>>>> I compiled a new kernel (31.5). Everything works fine, apart from one >>>>>> thing: I can't compile new programs. When I ./configure or use sbopkg >>>>>> I get the following errors: >>>>>> >>>>>>> /usr/include/bits/local_lim.h:39:26: error: linux/limits.h: No such >>>>>>> file or directory >>>>>> I can guess why I get such errors. I probably don't heave >>>>>> kernel-headers for the new kernel. >>>>> You are not supposed to have kernel headers for your new kernel. When >>>>> compiling programs you are supposed to have the same kernel headers >>>>> which was used to compile your installed glibc. >>>>> >>>>> regards Henrik >>>> Thanks for your reply. Does that mean that I'm supposed to install the >>>> kernel-headers for the stock slackware kernel (29.x)? >>>> >>> maybe you can fix it differently >>> it seems /usr/include/linux/limits.h doesn't exist >>> >>> it ought to be the same file as /usr/src/linux/include/linux/limits.h >>> so maybe you could copy /usr/src/linux/include/linux to /usr/include/ >>> >>> because i don't think the kernel headers from 29.x vs 31.5 >>> differ that much (someone mentioned 30.x and onwards are the same) >>> >>> i don't know if it's the right way to do tho >>> iirc most distro's seem to symlink /usr/src/linux/include/linux to /usr/ >>> include/linux. while in slackware the kernel headers are seperate files >>> from /usr/src/linux >>> >>> eg the same files reside 2 times in the filesystem instead of only once >>> yes i checked it with hashes eg /usr/include/linux/ and /usr/src/linux/ >>> include/linux containt he exact same files (except one is missing >>> compile.h) while beeing seeded by 2 seperate packages eg: kernel-source >>> and kernel-headers. >>> >> Thanks for your answer. >> I've already installed the headers for 29.x, but, yes, that's a good >> idea to make symlinks. > > > No, it's not. It's a HORRIBLE idea. Don't do it. > http://uwsg.iu.edu/hypermail/linux/kernel/0007.3/0587.html > > -RW Ok, I get the idea:) regards Martin
First
|
Prev
|
Pages: 1 2 3 Prev: Logitech usb camera. Next: no sound on my hp dv7 notebook using alsa |