Summary: | dev-libs/klibc fails with linux-headers-2.6.19 due to no linux/config.h | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Mike Lothian <mike> |
Component: | New packages | Assignee: | Martin Schlemmer (RETIRED) <azarah> |
Status: | RESOLVED FIXED | ||
Severity: | trivial | CC: | alephlg, ed, heiko.baums, hiyuh.root, perry, Phoenixfire159, roberto.castagnola, ryan, spock |
Priority: | High | Keywords: | InVCS |
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 156669, 159304 | ||
Attachments: |
Patch for resumelib.c which fixes config.h breakage
Modified ebuild to patch klibc against 2.6.19 revised klibc-1.4.13-resumelib.patch |
Description
Mike Lothian
2006-12-09 07:31:09 UTC
Ditto for x11-base/x11-drm *** Bug 159500 has been marked as a duplicate of this bug. *** Michal: any interest in fixing this? actually the line in question can just be removed. Just to let everyone know, if you create the following symlink, everything works: config.h -> autoconf.h in the /usr/src/linux/include/linux directory. This isn't specific to klibc. If you google it, a bunch of packages were broken with this lack of config.h in 2.6.19. And the problem is not in linux-headers, but is instead in the source tree. Doesn't that defeat the purpose? I mean Linux wants rid of it so shouln't these packages "Do The Right Thing" and stop using it? What I don't understand about Linux is how they can have a thousand backwards compatability options in the kernel config (try it, hit `make menuconfig` and see how many features are in there for backwards compatability), but then not tell anyone and kill linux/config.h. The only evidence I can find that it was deprecated was one entry in a mailing list. So no, I don't think it defeats the purpose. If you're going to have all those deprecated options in the kernel config, then making that symlink is no different. (In reply to comment #6) > What I don't understand about Linux is how they can have a thousand backwards > compatability options in the kernel config (try it, hit `make menuconfig` and > see how many features are in there for backwards compatability) Those are for documented userspace interfaces. Including kernel configuration headers into userspace isn't a supported interface. Neither is building kernel modules outside of the source tree, hence all of the breakage of external kernel modules. Read http://lxr.free-electrons.com/source/Documentation/stable_api_nonsense.txt for why we deliberately don't try to maintain API interface stability. In other words, this is both a klibc bug in that it includes configuration-sensitive headers, and a bug in older versions of linux-headers that this file was installed in the first place. Just to let everyone know, I'm pretty sure it's not a linux-headers bug. klibc depends on the headers in /usr/src/linux/include, not /usr/include. Oops, must have misread that. In that case it is a klibc bug which can be patched easily, including autoconf.h instead is probably the correct fix, and also this does fall under the "Linux deliberately doesn't try to produce a stable interface here" category that I outlined above. Created attachment 105432 [details, diff]
Patch for resumelib.c which fixes config.h breakage
Patch to implement Martin's fix, including autoconf.h instead of config.h in resumelib.c
Created attachment 105433 [details]
Modified ebuild to patch klibc against 2.6.19
I modified the ebuild (should be bumped to -r1?) to include the patch above if linux/include/linux/config.h is not found.
The patch should be applied unconditionally and it is safe to do so. Maintainers, this is your 1 week warning of 2.6.19 going stable. patch and new ebuild works for me too Please bump! Works fine on x86! >Please bump!
>Works fine on x86!
I had to make a touch /usr/include/linux/config.h to make it work..spca5xx also got affected..
Created attachment 107054 [details, diff]
revised klibc-1.4.13-resumelib.patch
Seems to me the kernel version should be checked, so I added a check for 2.6.19 to the patch.
Attachments work on amd64. *** Bug 162901 has been marked as a duplicate of this bug. *** I've just commited the needed changes to CVS, I'll leave this bug open, as we need the latest version stable for gentoo-sources-2.6.19. (In reply to comment #19) > I've just commited the needed changes to CVS, I'll leave this bug open, as we > need the latest version stable for gentoo-sources-2.6.19. The above isn't even right, current stable works just fine with 2.6.19 based sources (checked it against hardened-sources-2.6.19-r4 / linux-headers-2.6.19.2-r1). |