fcpci-0.1-ri does not emerge with kernel 2.6.31 Reproducible: Always Steps to Reproduce: 1. emerge =gentoo-sources-2.6.31 2. emerge fcpci 3. Actual Results: CC [M] /data/portage/net-dialup/fcpci-0.1-r1/work/fritz/src/lib.o /data/portage/net-dialup/fcpci-0.1-r1/work/fritz/src/driver.c: In function ‘install_card’: /data/portage/net-dialup/fcpci-0.1-r1/work/fritz/src/driver.c:370: warning: cast from pointer to integer of different size /data/portage/net-dialup/fcpci-0.1-r1/work/fritz/src/driver.c: In function ‘reset_ctrl’: /data/portage/net-dialup/fcpci-0.1-r1/work/fritz/src/driver.c:572: error: implicit declaration of function ‘capi_ctr_reseted’ make[2]: *** [/data/portage/net-dialup/fcpci-0.1-r1/work/fritz/src/driver.o] Error 1 make[2]: *** Waiting for unfinished jobs.... make[1]: *** [_module_/data/portage/net-dialup/fcpci-0.1-r1/work/fritz/src] Error 2 make[1]: Leaving directory `/usr/src/linux-2.6.31-gentoo' make: *** [fcpci.ko] Error 2 * * ERROR: net-dialup/fcpci-0.1-r1 failed. * Call stack: * ebuild.sh, line 49: Called src_compile * environment, line 3545: Called linux-mod_src_compile * environment, line 2703: 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=/data/portage/net-dialup/fcpci-0.1-r1/work/fritz/src all Portage 2.1.6.13 (default/linux/amd64/2008.0, gcc-4.4.1, glibc-2.10.1-r0, 2.6.30-zen1-galenos x86_64) ================================================================= System uname: Linux-2.6.30-zen1-galenos-x86_64-AMD_Athlon-tm-_64_X2_Dual_Core_Processor_4200+-with-gentoo-2.0.1 Timestamp of tree: Fri, 11 Sep 2009 04:45:01 +0000 ccache version 2.4 [enabled] app-shells/bash: 4.0_p33 dev-java/java-config: 2.1.9 dev-lang/python: 2.5.4-r3, 2.6.2-r1, 3.1.1 dev-python/pycrypto: 2.0.1-r8 dev-util/ccache: 2.4-r8 dev-util/cmake: 2.6.4-r2 sys-apps/baselayout: 2.0.1 sys-apps/openrc: 0.4.3-r3 sys-apps/sandbox: 2.1 sys-devel/autoconf: 2.13, 2.63-r1 sys-devel/automake: 1.4_p6, 1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.2, 1.11 sys-devel/binutils: 2.19.1-r1 sys-devel/gcc-config: 1.4.1 sys-devel/libtool: 2.2.6a virtual/os-headers: 2.6.30-r1 CBUILD="x86_64-pc-linux-gnu" CCACHE_DIR="/var/tmp/ccache" CCACHE_SIZE="2G" CDEFINE_amd64="__x86_64__" CDEFINE_x86="__i386__" CFLAGS="-O2 -pipe -march=athlon64 -msse3 -mfpmath=sse" CFLAGS_x86="-m32" CHOST="x86_64-pc-linux-gnu" CHOST_amd64="x86_64-pc-linux-gnu" CHOST_x86="i686-pc-linux-gnu" MULTILIB_ABIS="amd64 x86" MULTILIB_STRICT_DENY="64-bit.*shared object" MULTILIB_STRICT_DIRS="/lib32 /lib /usr/lib32 /usr/lib /usr/kde/*/lib32 /usr/kde/*/lib /usr/qt/*/lib32 /usr/qt/*/lib /usr/X11R6/lib32 /usr/X11R6/lib" MULTILIB_STRICT_EXEMPT="(perl5|gcc|gcc-lib|binutils|eclipse-3|debug|portage)"
Should be a simple fix -- capi_ctr_reseted was renamed to capi_ctr_down in 2.6.31 Assigning to fcpci maintainers.
Created attachment 207734 [details, diff] patch fixing compilations issues I am not 100% sure that the "atomic_xchg" part of the patch is always needed. at least it was on my system.
Created attachment 208387 [details] ebuild using striped patch of Andreas Dröscher
Created attachment 208388 [details] ebuild using striped patch of Andreas Dröscher
Created attachment 208389 [details, diff] striped version of Andreas Dröscher patch
I created an ebuild using a striped version Andreas Dröschers patch. The original patch failed because of the "atomic_xchg" part and I was unable to locate this code part. I also remove the ${DISTDIR} from rpm_unpack due to the QA notice. P.S.: Sorry for double posting the build but an interlan error occured while uploading and I pressed reload...
with Jan Günter striped patch, I get: * Applying fritz_pci.diff ... [ ok ] * Applying fritz_irq.diff ... [ ok ] * Applying fritz_driver_init.diff ... [ ok ] * Converting src/Makefile to use M= instead of SUBDIRS= ... [ ok ] * Localize symbols in fcpci-lib.o ... * Applying 0.1-kernel-2.6.31.patch ... [ ok ] >>> Source unpacked in /var/tmp/portage/net-dialup/fcpci-0.1-r2/work >>> Compiling source in /var/tmp/portage/net-dialup/fcpci-0.1-r2/work/fritz ... * Preparing fcpci module make HOSTCC=i686-pc-linux-gnu-gcc CROSS_COMPILE=i686-pc-linux-gnu- LDFLAGS= KDIR=/usr/src/linux LIBDIR=/var/tmp/portage/net-dialup/fcpci-0.1-r2/work/fritz/src all make -C /usr/src/linux M=/var/tmp/portage/net-dialup/fcpci-0.1-r2/work/fritz/src modules make[1]: Entering directory `/usr/src/linux-2.6.31-gentoo-r4' CC [M] /var/tmp/portage/net-dialup/fcpci-0.1-r2/work/fritz/src/main.o In file included from /var/tmp/portage/net-dialup/fcpci-0.1-r2/work/fritz/src/queue.h:27, from /var/tmp/portage/net-dialup/fcpci-0.1-r2/work/fritz/src/tables.h:31, from /var/tmp/portage/net-dialup/fcpci-0.1-r2/work/fritz/src/driver.h:30, from /var/tmp/portage/net-dialup/fcpci-0.1-r2/work/fritz/src/main.c:44: /var/tmp/portage/net-dialup/fcpci-0.1-r2/work/fritz/src/tools.h:75: error: conflicting types for 'atomic_xchg' /usr/src/linux-2.6.31-gentoo-r4/arch/x86/include/asm/atomic_32.h:215: error: previous definition of 'atomic_xchg' was here make[2]: *** [/var/tmp/portage/net-dialup/fcpci-0.1-r2/work/fritz/src/main.o] Error 1 make[1]: *** [_module_/var/tmp/portage/net-dialup/fcpci-0.1-r2/work/fritz/src] Error 2 make[1]: Leaving directory `/usr/src/linux-2.6.31-gentoo-r4' make: *** [fcpci.ko] Error 2
sigh I had forgotten to update the linux-headers. That caused weird "atomic_xchg" error. shame on me
New versions for 2.6.31.5 ( Open SuSE 11.2 ) have been published on 13-Nov-2009 : http://opensuse.foehr-it.de/rpms/11_2/2.6.31.5-0.1/
Source RPM: http://opensuse.foehr-it.de/rpms/11_2/src/fcpci-0.1-0.src.rpm
Created attachment 212408 [details, diff] patch for fcpci-0.1-r1.ebuild Applying this patch I were able to compile the driver against a 2.6.30 kernel as well as a 2.6.31 kernel. It depends on the rpm from #10 and uses the fact, that the version from SuSE 11.2 is a superset of that one from SuSE 10.3. So far I could only test it on amd64 and I don't know whether it also works for x86.
I tested http://bugs.gentoo.org/attachment.cgi?id=212408&action=view on x86. You have to add 5 to PAT at line 37: local BIT="" PAT="012345" Patch 5 is tools2.diff which is commenting out atomic_xchg
(In reply to comment #12) Works fine and amd64. > I tested http://bugs.gentoo.org/attachment.cgi?id=212408&action=view on x86. > You have to add 5 to PAT at line 37: > > local BIT="" PAT="012345" > > Patch 5 is tools2.diff which is commenting out atomic_xchg >
Abandoned upstream. Won't work with current kernels. Closed Source.
Created attachment 245318 [details, diff] fcpci Patch for Kernel 2.6.34
Created attachment 247474 [details] fcpci ebuild for kernels >= 2.6.34 Here is an ebuild i am using for kernels >= 2.6.34. greetings