Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 249791 - net-dialup/fritzcapi-2.6.43 doesn't compile on 2.6.26 gentoo-sources
Summary: net-dialup/fritzcapi-2.6.43 doesn't compile on 2.6.26 gentoo-sources
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: AMD64 Linux
: High major (vote)
Assignee: Gentoo Linux bug wranglers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-12-04 12:53 UTC by tazinblack
Modified: 2008-12-06 18:28 UTC (History)
1 user (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 tazinblack 2008-12-04 12:53:51 UTC
It's not possible to compile net-dialup/fritzcapi-2.6.43 against a 2.6.26 gentoo-sources kernel.

Reproducible: Always

Steps to Reproduce:
1.emerge -av fritzcapi
2.
3.

Actual Results:  
emerge -av fcusb2   

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild  N    ] net-dialup/fcusb2-0.1-r1  0 kB 

Total: 1 package (1 new), Size of downloads: 0 kB

Would you like to merge these packages? [Yes/No] y
>>> Verifying ebuild Manifests...

>>> Emerging (1 of 1) net-dialup/fcusb2-0.1-r1 to /
 * fcusb2-0.1-0.src.rpm RMD160 SHA1 SHA256 size ;-) ...                                                                              [ ok ]
 * checking ebuild checksums ;-) ...                                                                                                 [ ok ]
 * checking auxfile checksums ;-) ...                                                                                                [ ok ]
 * checking miscfile checksums ;-) ...                                                                                               [ ok ]
 * checking fcusb2-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-r3/build
 * Found sources for kernel version:
 *     2.6.26-gentoo-r3
>>> Unpacking source...
>>> Unpacking fcusb2-suse93-64bit-3.11-07.tar.gz to /var/tmp/portage/net-dialup/fcusb2-0.1-r1/work
 * Applying fritz-usb.diff ...                                                                                                       [ ok ]
 * Applying fritz_init_work.diff ...                                                                                                 [ ok ]
 * Applying fritz_urb.diff ...                                                                                                       [ ok ]
 * Applying fritz_config64.diff ...                                                                                                  [ ok ]
 * Applying fcusb2_kernel-2.6.24.diff ...                                                                                            [ ok ]
 * Converting src/Makefile to use M= instead of SUBDIRS= ...                                                                         [ ok ]
 * Localize symbols in fcusb2-lib.o ...
>>> Source unpacked.
>>> Compiling source in /var/tmp/portage/net-dialup/fcusb2-0.1-r1/work/fritz ...
 * Preparing fcusb2 module
make -C /usr/src/linux M=/var/tmp/portage/net-dialup/fcusb2-0.1-r1/work/fritz/src modules
make[1]: Entering directory `/usr/src/linux-2.6.26-gentoo-r3'
  CC [M]  /var/tmp/portage/net-dialup/fcusb2-0.1-r1/work/fritz/src/main.o
  CC [M]  /var/tmp/portage/net-dialup/fcusb2-0.1-r1/work/fritz/src/driver.o
  CC [M]  /var/tmp/portage/net-dialup/fcusb2-0.1-r1/work/fritz/src/tools.o
  CC [M]  /var/tmp/portage/net-dialup/fcusb2-0.1-r1/work/fritz/src/tables.o
  CC [M]  /var/tmp/portage/net-dialup/fcusb2-0.1-r1/work/fritz/src/queue.o
  CC [M]  /var/tmp/portage/net-dialup/fcusb2-0.1-r1/work/fritz/src/lib.o
  LD [M]  /var/tmp/portage/net-dialup/fcusb2-0.1-r1/work/fritz/src/fcusb2.o
  Building modules, stage 2.
  MODPOST 1 modules
FATAL: modpost: GPL-incompatible module fcusb2.ko uses GPL-only symbol 'usb_kill_urb'
make[2]: *** [__modpost] Error 1
make[1]: *** [modules] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.26-gentoo-r3'
make: *** [fcusb2.o] Error 2
 * 
 * ERROR: net-dialup/fcusb2-0.1-r1 failed.
 * Call stack:
 *               ebuild.sh, line   49:  Called src_compile
 *             environment, line 3265:  Called linux-mod_src_compile
 *             environment, line 2469:  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=x86_64-pc-linux-gnu-gcc CROSS_COMPILE=x86_64-pc-linux-gnu- LDFLAGS=  KDIR=/usr/src/linux LIBDIR=/var/tmp/portage/net-dialup/fcusb2-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/fcusb2-0.1-r1/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/net-dialup/fcusb2-0.1-r1/temp/environment'.
 *
Comment 1 Patrick Lauer gentoo-dev 2008-12-05 21:28:55 UTC
FATAL: modpost: GPL-incompatible module fcusb2.ko uses GPL-only symbol
'usb_kill_urb'

Short version: License issues prevent the build here. Ask AVM to opensource their driver or use an older driver, nothing we can do about it ...
Comment 2 tazinblack 2008-12-06 09:49:27 UTC
But it does compile against an older kernel 2.6.20.
Why there and not here?
Comment 3 Patrick Lauer gentoo-dev 2008-12-06 18:28:11 UTC
(In reply to comment #2)
> But it does compile against an older kernel 2.6.20.
> Why there and not here?
> 
Because the kernel devs have decided that they won't tolerate license violations in the future. It's a very ideologically charged debate, but in the long run the linux kernel will make it more difficult to let closed source things link against it. The change was in 2.6.25 or so, USB driver functions are now only available to GPLed modules. Maybe this motivates users to nag the driver vendors enough so that they finally release working (i.e. open) drivers ;)