Trying to compile masked package "fcdsl". Failes with compilation error Reproducible: Always Steps to Reproduce: 1. ACCEPT_KEYWORDS="~x86" emerge -v fcdsl 2. crash Actual Results: >>> Emerging (1 of 1) net-dialup/fcdsl-0.1-r1 * fcdsl-0.1-0.src.rpm RMD160 SHA1 SHA256 size ;-) ... [ ok ] * checking ebuild checksums ;-) ... [ ok ] * checking auxfile checksums ;-) ... [ ok ] * checking miscfile checksums ;-) ... [ ok ] * Determining the location of the kernel source code * Found kernel source directory: * /usr/src/linux * Found kernel object directory: * /lib/modules/2.6.27-gentoo-r8/build * Found sources for kernel version: * 2.6.27-gentoo-r8 >>> 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 HOSTCC=i486-pc-linux-gnu-gcc CROSS_COMPILE=i486-pc-linux-gnu- LDFLAGS= KDIR=/usr/src/linux LIBDIR=/var/tmp/portage/net-dialup/fcdsl-0.1-r1/work/fritz/src all 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.27-gentoo-r8' 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 /var/tmp/portage/net-dialup/fcdsl-0.1-r1/work/fritz/src/driver.c: In function 'kill_thread': /var/tmp/portage/net-dialup/fcdsl-0.1-r1/work/fritz/src/driver.c:1401: error: implicit declaration of function 'find_task_by_pid' /var/tmp/portage/net-dialup/fcdsl-0.1-r1/work/fritz/src/driver.c:1401: warning: comparison between pointer and integer make[2]: *** [/var/tmp/portage/net-dialup/fcdsl-0.1-r1/work/fritz/src/driver.o] Error 1 make[1]: *** [_module_/var/tmp/portage/net-dialup/fcdsl-0.1-r1/work/fritz/src] Error 2 make[1]: Leaving directory `/usr/src/linux-2.6.27-gentoo-r8' make: *** [fcdsl.o] Error 2 * * ERROR: net-dialup/fcdsl-0.1-r1 failed. * Call stack: * ebuild.sh, line 49: Called src_compile * environment, line 3209: Called linux-mod_src_compile * environment, line 2420: Called die * The specific snippet of code: * eval "emake HOSTCC="$(tc-getBUILD_CC)" CROSS_COMPILE=${CHOST}- LDFLAGS="$(get_abi_LDFLAGS)" ${BUILD_FIXES} ${BUILD_PARAMS} ${BUILD_TARGETS} " || die "Unable to emake HOSTCC="$(tc-getBUILD_CC)" CROSS_COMPILE=${CHOST}- LDFLAGS="$(get_abi_LDFLAGS)" ${BUILD_FIXES} ${BUILD_PARAMS} ${BUILD_TARGETS}"; * The die message: * Unable to emake HOSTCC=i486-pc-linux-gnu-gcc CROSS_COMPILE=i486-pc-linux-gnu- 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 fine :)
Its a simple fix to make the driver compatible to newer gentoo installations. The maintainer need to change the driver.c line 1401: if (NULL == find_task_by_pid (thread_pid)) { to if (NULL == find_task_by_pid_ns (thread_pid, 0)) { greets, bigbohne