Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 232511 - net-dialup/fcdsl-0.1-r1 + gentoo-sources-2.6.26 - FATAL: modpost: GPL-incompatible module fcdsl.ko uses GPL-only symbol 'init_pid_ns'
Summary: net-dialup/fcdsl-0.1-r1 + gentoo-sources-2.6.26 - FATAL: modpost: GPL-incompa...
Status: RESOLVED WONTFIX
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Stefan Briesenick (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-07-20 19:10 UTC by Heiko Nock
Modified: 2010-07-21 00:45 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Heiko Nock 2008-07-20 19:10:30 UTC
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 :)
Comment 1 Stefan Briesenick (RETIRED) gentoo-dev 2008-07-22 10:55:45 UTC
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).
Comment 2 Marc - A. Dahlhaus 2008-08-23 12:03:19 UTC
(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
Comment 3 Stefan Briesenick (RETIRED) gentoo-dev 2010-07-21 00:45:33 UTC
Abandoned upstream. Won't work with current kernels. Closed Source.