This just requires klibc-1.4.13/usr/kinit/resume/resumelib.c to be changed #include <linux/config.h> /* For CONFIG_PM_STD_PARTITION */ to #include <linux/autoconf.h> /* For CONFIG_PM_STD_PARTITION */
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).