I use module-assistant to prepare the necessary headers for the kernel and the same utility to build the driver. The compilation process stops unexpectedly with both versions of the driver, warning about implicit function declarations. Is it a problem with the C compiler? Do you know the possible reason? I append the build log.
- Code: Select all
touch config.mk \
&& /usr/bin/make clean
make[1]: Entering directory `/usr/src/modules/rt2500'
make[1]: Leaving directory `/usr/src/modules/rt2500'
dh_clean
/usr/bin/make -f debian/rules kdist_clean kdist_config binary-modules
make[1]: Entering directory `/usr/src/modules/rt2500'
touch config.mk \
&& /usr/bin/make clean
make[2]: Entering directory `/usr/src/modules/rt2500'
make[2]: Leaving directory `/usr/src/modules/rt2500'
dh_clean
for templ in ; do \
cp $templ `echo $templ | sed -e 's/_KVERS_/2.4.27-2-386/g'` ; \
done
for templ in `ls debian/*.modules.in` ; do \
test -e ${templ%.modules.in}.backup || cp ${templ%.modules.in} ${templ%.modules.in}.backup 2>/dev/null || true; \
sed -e 's/##KVERS##/2.4.27-2-386/g ;s/#KVERS#/2.4.27-2-386/g ; s/_KVERS_/2.4.27-2-386/g ; s/##KDREV##/2.4.27-10sarge1/g ; s/#KDREV#/2.4.27-10sarge1/g ; s/_KDREV_/2.4.27-10sarge1/g' < $templ > ${templ%.modules.in}; \
done
# Install module
dh_installdirs lib/modules/2.4.27-2-386/kernel/drivers/net/wireless
# Build modules
/usr/bin/make KERNDIR=/usr/src/linux PATCHLEVEL=4 CC=gcc-3.3
make[2]: Entering directory `/usr/src/modules/rt2500'
make[3]: Entering directory `/usr/src/kernel-headers-2.4.27-2-386'
gcc -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -o scripts/split-include scripts/split-include.c
scripts/split-include.c:22:23: sys/types.h: El fitxer o directori no existeix
scripts/split-include.c:23:22: sys/stat.h: El fitxer o directori no existeix
scripts/split-include.c:25:19: ctype.h: El fitxer o directori no existeix
scripts/split-include.c:26:19: errno.h: El fitxer o directori no existeix
scripts/split-include.c:27:19: fcntl.h: El fitxer o directori no existeix
scripts/split-include.c:28:19: stdio.h: El fitxer o directori no existeix
scripts/split-include.c:29:20: stdlib.h: El fitxer o directori no existeix
scripts/split-include.c:30:20: string.h: El fitxer o directori no existeix
scripts/split-include.c:31:20: unistd.h: El fitxer o directori no existeix
scripts/split-include.c: En la funció "main":
scripts/split-include.c:50: error: `FILE' undeclared (first use in this function)
scripts/split-include.c:50: error: (Each undeclared identifier is reported only once
scripts/split-include.c:50: error: for each function it appears in.)
scripts/split-include.c:50: error: `fp_config' undeclared (first use in this function)
scripts/split-include.c:51: error: `fp_target' undeclared (first use in this function)
scripts/split-include.c:52: error: `fp_find' undeclared (first use in this function)
scripts/split-include.c:61: error: storage size of `stat_buf' isn't known
scripts/split-include.c:66: avís: implicit declaration of function `fprintf'
scripts/split-include.c:66: error: `stderr' undeclared (first use in this function)
scripts/split-include.c:67: avís: implicit declaration of function `exit'
scripts/split-include.c:75: avís: implicit declaration of function `stat'
scripts/split-include.c:76: error: `errno' undeclared (first use in this function)
scripts/split-include.c:76: avís: implicit declaration of function `perror'
scripts/split-include.c:80: avís: implicit declaration of function `malloc'
scripts/split-include.c:80: avís: assignació crea un punter des d'un enter sense una conversió
scripts/split-include.c:81: error: `NULL' undeclared (first use in this function)
scripts/split-include.c:81: avís: assignació crea un punter des d'un enter sense una conversió
scripts/split-include.c:82: avís: assignació crea un punter des d'un enter sense una conversió
scripts/split-include.c:86: avís: implicit declaration of function `fopen'
scripts/split-include.c:92: avís: implicit declaration of function `mkdir'
scripts/split-include.c:97: avís: implicit declaration of function `chdir'
scripts/split-include.c:105: avís: implicit declaration of function `fgets'
scripts/split-include.c:113: avís: implicit declaration of function `strstr'
scripts/split-include.c:118: avís: implicit declaration of function `isspace'
scripts/split-include.c:121: avís: implicit declaration of function `isupper'
scripts/split-include.c:121: avís: implicit declaration of function `tolower'
scripts/split-include.c:134: avís: implicit declaration of function `fclose'
scripts/split-include.c:136: avís: implicit declaration of function `strcmp'
scripts/split-include.c:159: avís: implicit declaration of function `fputs'
scripts/split-include.c:160: avís: implicit declaration of function `ferror'
scripts/split-include.c:191: avís: implicit declaration of function `popen'
scripts/split-include.c:205: avís: implicit declaration of function `strlen'
scripts/split-include.c:222: avís: implicit declaration of function `pclose'
scripts/split-include.c:61: avís: unused variable `stat_buf'
make[3]: *** [scripts/split-include] Error 1
make[3]: Leaving directory `/usr/src/kernel-headers-2.4.27-2-386'
rt2500.o failed to build!
make[2]: *** [module] Error 1
make[2]: Leaving directory `/usr/src/modules/rt2500'
make[1]: *** [binary_modules] Error 2
make[1]: Leaving directory `/usr/src/modules/rt2500'
make: *** [kdist_build] Error 2
Thanks for the help.