genkernel 3.0.1_beta4-3 compiles all DRM modules by default. The module compilation stage fails due to errors when compiling via_drv.o, halting genkernel Reproducible: Always Steps to Reproduce: 1.emerge gentoo-sources-2.4.22-r5 and genkernel_3.0.1_beta4-3 2.run genkernel all 3. Actual Results: Compilation fails at the module compile stage Expected Results: Completed compilation and installed new kernel Can be worked around by not compiling this module. It may be wise to not compile DRM modules (which are not required with the latest XFree86) by default.
Same results for 2.4.22-r4 sources. Problem lies with a conflict between via_drv.h and drmP.h, both try to define a function. I can't remember its name, it's all the way down in via_drg.h. Removing the one in via_drv.h seems to work for me, at least the module compiles.
Can one of you attach the .config that genkernel makes? I'm unable to reproduce this here.
Created attachment 23918 [details] .config, drmP.h and x86-patched via_drv.h
That's a bzipped tarball btw.
Created attachment 23919 [details] My emerge info Sorry for not just copying it, kinda hard in links. Btw, can any of these make my kernel unbootable? Other apps work fine...
The function in question, __cmpxchg, is guarded by the macro __HAVE_ARCH_CMPXCHG, but both definitions fail to #define this macro.
I couldn't find how to turn off compiling the DRM modules from menuconfig. I ended up just doing nano .config and put an 'n' after all modules prefixed with DRM. I'm just thinking on behalf of those who use genkernel --menuconfig all, perhaps a brief description of how to use menuconfig to avoid this problem would be great.
Can you try this out with _beta6?
Looks like with architecture = 386, __HAVE_ARCH_CMPXCHG is not defined and one gets the dual definition of cmpxchg in via_drv.h and drmP.h. When I specified pentium-4, the probably went away. I suggest surrounding each definition with #ifndef cmpxchg ... #endif
*** Bug 38537 has been marked as a duplicate of this bug. ***
*** Bug 38870 has been marked as a duplicate of this bug. ***
I'm attributing this (and it's dups) to a bad config that made it into genkernel. I'll have a -r6 that fixes this and other bugs in the next few days. I'm also revamping the config that genkernel uses.
Bug closed, fixed. Blame genkernel.
Fixed. New default config for genkernel.