Since kernel 2.6.26 fcdsl doesn't compile anymore. Very likely due to changes to block closed source applications from accessing GPL-only code in the kernel. Reproducible: Always Steps to Reproduce: 1.Boot Linux with kernel 2.6.26 2.Try to compile fcdsl 3. Actual Results: Calculating dependencies .......... done! >>> Verifying ebuild Manifests... >>> Emerging (1 of 1) net-dialup/fcdsl-0.1-r1 to / * fcdsl-0.1-0.src.rpm RMD160 SHA1 SHA256 size ;-) ... [ ok ] * checking ebuild checksums ;-) ... [ ok ] * checking auxfile checksums ;-) ... [ ok ] * checking miscfile checksums ;-) ... [ ok ] * checking fcdsl-0.1-0.src.rpm ;-) ... [ ok ] * Determining the location of the kernel source code * Found kernel source directory: * /usr/src/linux * Found kernel object directory: * /lib/modules/2.6.26-gentoo/build * Found sources for kernel version: * 2.6.26-gentoo >>> Unpacking source... >>> Unpacking fcdsl-suse93-3.11-07.tar.gz to /var/tmp/portage/net-dialup/fcdsl-0.1-r1/work * Applying fritz-tools.diff ... [ ok ] * Applying fritz-config.diff ... [ ok ] * Applying fritz_pci.diff ... [ ok ] * Applying fritz_irq.diff ... [ ok ] * Applying fritz_driver_init.diff ... [ ok ] * Applying fcdsl_kernel-2.6.24.diff ... [ ok ] * Converting src/Makefile to use M= instead of SUBDIRS= ... [ ok ] * Localize symbols in fcdsl-lib.o ... >>> Source unpacked. >>> Compiling source in /var/tmp/portage/net-dialup/fcdsl-0.1-r1/work/fritz ... * Preparing fcdsl module make -C /usr/src/linux M=/var/tmp/portage/net-dialup/fcdsl-0.1-r1/work/fritz/src modules make[1]: Entering directory `/usr/src/linux-2.6.26-gentoo' CC [M] /var/tmp/portage/net-dialup/fcdsl-0.1-r1/work/fritz/src/main.o CC [M] /var/tmp/portage/net-dialup/fcdsl-0.1-r1/work/fritz/src/driver.o CC [M] /var/tmp/portage/net-dialup/fcdsl-0.1-r1/work/fritz/src/tools.o CC [M] /var/tmp/portage/net-dialup/fcdsl-0.1-r1/work/fritz/src/dbgif.o CC [M] /var/tmp/portage/net-dialup/fcdsl-0.1-r1/work/fritz/src/tables.o CC [M] /var/tmp/portage/net-dialup/fcdsl-0.1-r1/work/fritz/src/queue.o CC [M] /var/tmp/portage/net-dialup/fcdsl-0.1-r1/work/fritz/src/lib.o LD [M] /var/tmp/portage/net-dialup/fcdsl-0.1-r1/work/fritz/src/fcdsl.o Building modules, stage 2. MODPOST 1 modules FATAL: modpost: GPL-incompatible module fcdsl.ko uses GPL-only symbol 'init_pid_ns' make[2]: *** [__modpost] Error 1 make[1]: *** [modules] Error 2 make[1]: Leaving directory `/usr/src/linux-2.6.26-gentoo' make: *** [fcdsl.o] Error 2 * * ERROR: net-dialup/fcdsl-0.1-r1 failed. * Call stack: * ebuild.sh, line 49: Called src_compile * environment, line 3204: Called linux-mod_src_compile * environment, line 2417: Called die * The specific snippet of code: * eval "emake HOSTCC=\"$(tc-getBUILD_CC)\" CC=\"$(get-KERNEL_CC)\" LDFLAGS=\"$(get_abi_LDFLAGS)\" ${BUILD_FIXES} ${BUILD_PARAMS} ${BUILD_TARGETS} " || die "Unable to emake HOSTCC="$(tc-getBUILD_CC)" CC="$(get-KERNEL_CC)" LDFLAGS="$(get_abi_LDFLAGS)" ${BUILD_FIXES} ${BUILD_PARAMS} ${BUILD_TARGETS}"; * The die message: * Unable to emake HOSTCC=i686-pc-linux-gnu-gcc CC=i686-pc-linux-gnu-gcc LDFLAGS= KDIR=/usr/src/linux LIBDIR=/var/tmp/portage/net-dialup/fcdsl-0.1-r1/work/fritz/src 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-0.1-r1/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/net-dialup/fcdsl-0.1-r1/temp/environment'. * * Messages for package net-dialup/fcdsl-0.1-r1: * * ERROR: net-dialup/fcdsl-0.1-r1 failed. * Call stack: * ebuild.sh, line 49: Called src_compile * environment, line 3204: Called linux-mod_src_compile * environment, line 2417: Called die * The specific snippet of code: * eval "emake HOSTCC=\"$(tc-getBUILD_CC)\" CC=\"$(get-KERNEL_CC)\" LDFLAGS=\"$(get_abi_LDFLAGS)\" ${BUILD_FIXES} ${BUILD_PARAMS} ${BUILD_TARGETS} " || die "Unable to emake HOSTCC="$(tc-getBUILD_CC)" CC="$(get-KERNEL_CC)" LDFLAGS="$(get_abi_LDFLAGS)" ${BUILD_FIXES} ${BUILD_PARAMS} ${BUILD_TARGETS}"; * The die message: * Unable to emake HOSTCC=i686-pc-linux-gnu-gcc CC=i686-pc-linux-gnu-gcc LDFLAGS= KDIR=/usr/src/linux LIBDIR=/var/tmp/portage/net-dialup/fcdsl-0.1-r1/work/fritz/src 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-0.1-r1/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/net-dialup/fcdsl-0.1-r1/temp/environment'. * Expected Results: Compile without a problem :)
well, I have a simple solution for this problem. But I have to check first, if it is ok to do so. I want to use the "bindist" USE-Flag for (de)activating a small Patch, which replaces the propritary module license with a (fake) GPL-License. I guess it is ok to do so, as long as you don't spread this module (i.e. runs only on your computer).
(In reply to comment #0) > Since kernel 2.6.26 fcdsl doesn't compile anymore. Very likely due to changes > to block closed source applications from accessing GPL-only code in the kernel. --8<-- > FATAL: modpost: GPL-incompatible module fcdsl.ko uses GPL-only symbol > 'init_pid_ns' The usage of find_task_by_pid is to blame here. If you change them to find_task_by_vid it will build and load just fine. I've done that on fcdsl2. But i'm facing a system freeze in the very moment pppd is trying to bring up a DSL connection (even sys-rq magic doesn't work). It smells like the BKL pushdown is to blame here (in ppp_generic, ppp_async or capi itself) but it could also be my config for 2.6.26... I'll try digging deeper into this with a debugging and KGDB enabled kernel over the next few days... Marc
Abandoned upstream. Won't work with current kernels. Closed Source.