SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
While trying to compile the glibc-2.5 sources that are distributed with Slackware 12.0, I get the following message (during configure):
checking installed Linux kernel header files... TOO OLD!
configure: error: GNU libc requires kernel header files from
Linux 2.0.10 or later to be installed before configuring.
The kernelheaders files are found usually in /usr/include/asm and
usr/include/liinux; make sure these directories use files from
Linux 2.0.10 or later. This check uses <linux/version.h>, so
make sure that file was built correctly when installing the kernel header
files. To use kernel headers not from /usr/include/linux, use the
configure option --with-headers.
I have installed the kernel headers for kernel 2.6.21.5 and the file /usr/include/linux/version.h exists and contains the following data
The version of gclib included with Slackware 12.0 has tls (Thread Local Storage) compiled into it. While this is probably a good thing in most situations, it's incompatible with the XEN hypervisor. Since this installation has one purpose alone - to be dom0 for a number of domains running on an SMP server - I don't really have any other option than to recompile gclib with "-mno-tls-direct-seg-refs".
I should probably also say that I'm perfectly aware that replacing gclib is not a morning stroll in the garden. I've done it a couple of times before (however, not on Slackware 12.0) and have also managed to nearly trash as system while doing it. Anyhow, many of these complications will not apply in this instance, since the two gclibs are of the same version (just with and without tls).
You probably need to have the kernel sources on your system. I have seen other cases where this was so -even though the configure script said that it didn't find the kernel headers in /usr/include/linux, what it was actually looking for and not finding was the headers in /usr/src/linux/include.
So, I'd suggest that you unpack the kernel sources in /usr/src and then create the link /usr/src/linux to that version of the sources. Be sure and configure the sources also, but they don't have to be compiled.
Even though you are using the same version of kernel, changing the tls options will probably break your system if you run 'make install' without DESTDIR so be sure to install them using DESTDIR. If configure still fails, try passing the '--with-headers' option and point it at the kernel source version you are using. The headers in the kernel-headers package are not the complete set of headers and xen or glibc may be needing something which is not in the packaged headers.
Sorry for not replying earlier, but for some reason, LQ didn't send a mail notifying me that there was a response to this - I just happened to check back on it.
I'm assuming you're using the SlackBuild script with the Slackware glibc sources (if not, you probably should ). I'd personally do this build and such in either an emulated environment (and test it there first) or in a chroot environment (and test it on a non-critical system first). Other than that, I don't have anything to add to what gnashley said.
gnashley:
While I'm thinking about it (sorry to hijack the thread), how did your bout with that udev helper turn out?
It appeared that (as gnashley was suggesting) the kernel headers where actually the patched subset of kernel headers sometimes called the libc-headers. These are meant to be used for compiling userspace programs, not glibc it self. However, the error message was somewhat confusing since the --with-headers directive was provided in glibc.BuildSlack and pointed to the place where the kernel sources should have been. That was the real problem: I had never installed the kernel sources since I was using a Xen based kernel and never thought that I would need the original kernel sources. Anyhow, installing the kernel sources package fixed everything right.
Installation went smoothly. Since this wasn't exactly a production system (yet), I just installed the shit and hoped for it to work... which it did : D Now XEN works just fine with Slackware 12.0 as dom0
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.