[Home]

Summary:DAHLIN-00082: [patch] Can't compile Dahdi on SuSE 10.1 / Kernel 2.6.16.54-0.2.5-smp / GCC 4.1.2
Reporter:Bruce Ferrell (bferell)Labels:
Date Opened:2009-02-23 02:01:35.000-0600Date Closed:2009-06-29 16:58:51
Priority:MajorRegression?No
Status:Closed/CompleteComponents:General
Versions:2.1.0.4 Frequency of
Occurrence
Related
Issues:
Environment:Attachments:( 0) issue-14525.patch
Description:Build fails in the following manner:


make -C /lib/modules/2.6.16.54-0.2.5-smp/build ARCH=i386 SUBDIRS=/usr/src/dahdi-linux-2.1.0.4/drivers/dahdi DAHDI_INCLUDE=/usr/src/dahdi-linux-2.1.0.4/include DAHDI_MODULES_EXTRA=" " HOTPLUG_FIRMWARE=yes modules DAHDI_BUILD_ALL=m
make[1]: Entering directory `/usr/src/linux-2.6.16.54-0.2.5-obj/i386/smp'
make -C ../../../linux-2.6.16.54-0.2.5 O=../linux-2.6.16.54-0.2.5-obj/i386/smp modules
 CC [M]  /usr/src/dahdi-linux-2.1.0.4/drivers/dahdi/dahdi-base.o
 LD [M]  /usr/src/dahdi-linux-2.1.0.4/drivers/dahdi/dahdi.o
 CC [M]  /usr/src/dahdi-linux-2.1.0.4/drivers/dahdi/dahdi_dummy.o
 CC [M]  /usr/src/dahdi-linux-2.1.0.4/drivers/dahdi/dahdi_dynamic.o
 CC [M]  /usr/src/dahdi-linux-2.1.0.4/drivers/dahdi/dahdi_dynamic_loc.o
 CC [M]  /usr/src/dahdi-linux-2.1.0.4/drivers/dahdi/dahdi_dynamic_eth.o
/usr/src/dahdi-linux-2.1.0.4/drivers/dahdi/dahdi_dynamic_eth.c: In function 'ztdeth_rcv':
/usr/src/dahdi-linux-2.1.0.4/drivers/dahdi/dahdi_dynamic_eth.c:104: error: too many arguments to function 'skb_linearize'
make[4]: *** [/usr/src/dahdi-linux-2.1.0.4/drivers/dahdi/dahdi_dynamic_eth.o] Error 1
make[3]: *** [_module_/usr/src/dahdi-linux-2.1.0.4/drivers/dahdi] Error 2
make[2]: *** [modules] Error 2
make[1]: *** [modules] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.16.54-0.2.5-obj/i386/smp'
make: *** [modules] Error 2

gcc -v
Using built-in specs.
Target: i586-suse-linux
Configured with: ../configure --enable-threads=posix --prefix=/usr --with-local-prefix=/usr/local --infodir=/usr/share/info --mandir=/usr/share/man --libdir=/usr/lib --libexecdir=/usr/lib --enable-languages=c,c++,objc,fortran,obj-c++,java,ada --enable-checking=release --with-gxx-include-dir=/usr/include/c++/4.1.2 --enable-ssp --disable-libssp --disable-libgcj --with-slibdir=/lib --with-system-zlib --enable-shared --enable-__cxa_atexit --enable-libstdcxx-allocator=new --program-suffix=-4.1 --enable-version-specific-runtime-libs --without-system-libunwind --with-cpu=generic --host=i586-suse-linux
Thread model: posix
gcc version 4.1.2 20061115 (prerelease) (SUSE Linux)

Comments:By: Shaun Ruffell (sruffell) 2009-06-29 16:58:51

I checked dahdi_dynamic_eth.c against the vanilla 2.6.16.54 kernel and it compiled fine.  It appears as if SUSE has a patch to the kernel in their distribution that drops the alloc flags from the skb_linearize call, but I'm not sure what dahdi_dynamic_eth.c can check for at compile time to work around this.

Either you can apply issue-14525.patch, which I've attached to this issue, recompile your own vanilla kernel, or see if there is a SUSE kernel based on 2.6.18 or greater.