Package net-wireless/ndiswrapper-0.12-r2 fails to emerge because CONFIG_4KSTACKS is not set in kernel config. Reproducible: Always Steps to Reproduce: 1. cd /usr/src/linux; make menuconfig 2. *Disable 4KSTACKS 3. emerge ndiswrapper Actual Results: * Determining the location of the kernel source code * Found kernel source directory: * /usr/src/linux * Found sources for kernel version: * 2.6.9-gentoo-r13 * Checking for suitable kernel configuration options * CONFIG_4KSTACKS: should be set in the kernel configuration, but isn't * Please check to make sure these options are set correctly. * Once you have satisfied these options, please try merging * this package again. Expected Results: It should have made sure CONFIG_4KSTACKS is *disabled*. The current ebuild wants 4KSTACKS to be enabled, which is incorrect according to the NdisWrapper FAQ. From the URL I gave (official NdisWrapper FAQ): If you are using 2.6 kernels, make sure 4K stacks are not used (i.e., disable CONFIG_4KSTACKS)
In fact I'm even unable to find this Option in my Kernel. * Found sources for kernel version: * 2.4.26-gentoo-r9 * Checking for suitable kernel configuration options * CONFIG_4KSTACKS: should be set in the kernel configuration, but isn't am I blind?
The config option is in menuconfig/xconfig at: Kernel Hacking -> [ ]Use 4Kb for kernel stacks instead of 8Kb Not somewhere people usually check.
* Found sources for kernel version: * 2.4.26-gentoo-r9 * Checking for suitable kernel configuration options * CONFIG_4KSTACKS: should be set in the kernel configuration, but isn't Shot in the dark, but I also don't think it exists on 2.4 kernels, only on recent 2.6 kernels. Don't worry, its already broken nVidia, wireless drivers, and loads of other things, and I don't know much of the benefits about it. :) Thanks in advance for fixing this. :)
if this CONFIG_4KSTACKS, it should fail, and not the way it is now. 4KSTACKS is a 2.6 kernel feature as it makes the context-switch into kernel-mode a small, but measureable faster. Not a very needed feature as it breaks a lot of binary drivers that depend on 8K stack.
Same happens here with development-sources (2.6.9) and genkernel when emergeing net-wireless/ndiswrapper-0.12-r2 * Determining the location of the kernel source code * Found kernel source directory: * /usr/src/linux * Found sources for kernel version: * 2.6.9 * Checking for suitable kernel configuration options * CONFIG_4KSTACKS: should be set in the kernel configuration, but isn't * Please check to make sure these options are set correctly. * Once you have satisfied these options, please try merging * this package again.
Created attachment 47040 [details, diff] Patches ndiswrapper-0.12-r2.ebuild to check kernel config correctly
This bug will affect everyone that has their kernel configured correctly. I originally listed this bug with a severity of 'major', but I wonder if it needs an upgrade. The only difference in ebuilds is one added line: CONFIG_CHECK="4KSTACKS" While I recognize that this would be a great feature, it currently does the opposite of what is intended. I am unable to find any information on the CONFIG_CHECK variable......... After a bit of trial and error, I found that the ebuild should read: CONFIG_CHECK="!4KSTACKS" I'm attaching a patch that should fix this (note: this is the first patch I've ever made and this is only my third bug report).
This bug has been fixed. Do an `emerge sync && emerge -uD world` and it will update.
*** Bug 75880 has been marked as a duplicate of this bug. ***
My apologizes. In testing I set 4KSTACKS on in my kernel config and didn't realize it. So when I was getting ready to commit the new build, it raised a warning so I flipped the ! in the command. Nice to know at least that this stuff is tested.