fcdsl fails to build with 2.6.20-hardened-r2 but was o.k with 2.6.18 hardened sources. * Preparing fcdslusb module make[1]: Entering directory `/var/tmp/portage/net-dialup/fcdsl-2.6.37/work/usr/src/kernel-modules/fcdsl/src/src.fcdslusb' mkdir -p '/var/tmp/portage/net-dialup/fcdsl-2.6.37/work' make -C '/usr/src/linux' SUBDIRS=/var/tmp/portage/net-dialup/fcdsl-2.6.37/work/usr/src/kernel-modules/fcdsl/src/src.fcdslusb modules make[2]: Entering directory `/usr/src/linux-2.6.20-hardened-r2' CC [M] /var/tmp/portage/net-dialup/fcdsl-2.6.37/work/usr/src/kernel-modules/fcdsl/src/src.fcdslusb/main.o /var/tmp/portage/net-dialup/fcdsl-2.6.37/work/usr/src/kernel-modules/fcdsl/src/src.fcdslusb/main.c:80: error: unknown field `driver' specified in initializer /var/tmp/portage/net-dialup/fcdsl-2.6.37/work/usr/src/kernel-modules/fcdsl/src/src.fcdslusb/main.c:80: warning: braces around scalar initializer /var/tmp/portage/net-dialup/fcdsl-2.6.37/work/usr/src/kernel-modules/fcdsl/src/src.fcdslusb/main.c:80: warning: (near initialization for `usb_driver.name') /var/tmp/portage/net-dialup/fcdsl-2.6.37/work/usr/src/kernel-modules/fcdsl/src/src.fcdslusb/main.c:82: error: field name not in record or union initializer /var/tmp/portage/net-dialup/fcdsl-2.6.37/work/usr/src/kernel-modules/fcdsl/src/src.fcdslusb/main.c:82: error: (near initialization for `usb_driver.name') /var/tmp/portage/net-dialup/fcdsl-2.6.37/work/usr/src/kernel-modules/fcdsl/src/src.fcdslusb/main.c:82: warning: initialization from incompatible pointer type /var/tmp/portage/net-dialup/fcdsl-2.6.37/work/usr/src/kernel-modules/fcdsl/src/src.fcdslusb/main.c:83: error: field name not in record or union initializer /var/tmp/portage/net-dialup/fcdsl-2.6.37/work/usr/src/kernel-modules/fcdsl/src/src.fcdslusb/main.c:83: error: (near initialization for `usb_driver.name') /var/tmp/portage/net-dialup/fcdsl-2.6.37/work/usr/src/kernel-modules/fcdsl/src/src.fcdslusb/main.c:83: warning: excess elements in scalar initializer /var/tmp/portage/net-dialup/fcdsl-2.6.37/work/usr/src/kernel-modules/fcdsl/src/src.fcdslusb/main.c:83: warning: (near initialization for `usb_driver.name') make[3]: *** [/var/tmp/portage/net-dialup/fcdsl-2.6.37/work/usr/src/kernel-modules/fcdsl/src/src.fcdslusb/main.o] Error 1 make[2]: *** [_module_/var/tmp/portage/net-dialup/fcdsl-2.6.37/work/usr/src/kernel-modules/fcdsl/src/src.fcdslusb] Error 2 make[2]: Leaving directory `/usr/src/linux-2.6.20-hardened-r2' make[1]: *** [fcdslusb.o] Error 2 make[1]: Leaving directory `/var/tmp/portage/net-dialup/fcdsl-2.6.37/work/usr/src/kernel-modules/fcdsl/src/src.fcdslusb' !!! ERROR: net-dialup/fcdsl-2.6.37 failed. Call stack: ebuild.sh, line 1614: Called dyn_compile ebuild.sh, line 971: Called qa_call 'src_compile' environment, line 4192: Called src_compile ebuild.sh, line 1304: Called linux-mod_src_compile linux-mod.eclass, line 516: Called die !!! Unable to make KDIR='/usr/src/linux' LIBDIR='/var/tmp/portage/net-dialup/fcdsl-2.6.37/work' all. !!! If you need support, post the topmost build error, and the call stack if relevant. !!! A complete build log is located at '/var/tmp/portage/net-dialup/fcdsl-2.6.37/temp/build.log'. make: *** [/usr/src/log/net-dialup/fcdsl] Error 1 Reproducible: Always
would nice to see a patch for this. I probably will not write one in the close feature.
Seems like all usb drivers fail with this error (fcdslusb fcdslslusb fcdslusb2 fcdslusba).
Created attachment 123239 [details, diff] patch to build with 2.6.20 kernels This patch allows the fcdsl USB drivers to build with 2.6.20 kernels.
the problem with this patch is that it breaks older kernels compiles. It would be cool to have a patch that works for all kernels with #if LINUX_VERSION_CODE like other kernel compat patches
In the ebuild you can check for 2.6.20 like this.... # kernel version check if ! kernel_is eq 2 6 20; then # apply patch fi
Remove the ! from that last comment as it reverses the eq...
Yeah it is possible but not the best solution. I have applied it anyway kernel_is ge 2 6 20 conditional :) Thank you very much!