Compile of zaptel 1.2.8 on SuSe 9.0

Compile (using linux26) proceeds fine to this point:

CC [M] /usr/src/asterisk/zaptel-1.2.8/vpm450m.o
In file included from /usr/src/asterisk/zaptel-1.2.8/vpm450m.c:69:
/usr/src/linux-2.6.5-7.97/include/linux/firmware.h:11: warning: struct device' declared inside parameter list /usr/src/linux-2.6.5-7.97/include/linux/firmware.h:11: warning: its scope is only this definition or declaration, which is probably not what you want /usr/src/linux-2.6.5-7.97/include/linux/firmware.h:15: warning:struct device’ declared inside parameter list
LD [M] /usr/src/asterisk/zaptel-1.2.8/wct4xxp.o
CC [M] /usr/src/asterisk/zaptel-1.2.8/wcte11xp.o
CC [M] /usr/src/asterisk/zaptel-1.2.8/pciradio.o
/usr/src/asterisk/zaptel-1.2.8/pciradio.c:1811: error: parse error before “int”
/usr/src/asterisk/zaptel-1.2.8/pciradio.c:1811: warning: type defaults to int' in declaration ofmodule_param’
/usr/src/asterisk/zaptel-1.2.8/pciradio.c:1811: warning: function declaration isn’t a prototype
/usr/src/asterisk/zaptel-1.2.8/pciradio.c:1811: warning: data definition has no type or storage class
make[4]: *** [/usr/src/asterisk/zaptel-1.2.8/pciradio.o] Error 1
make[3]: *** [module/usr/src/asterisk/zaptel-1.2.8] Error 2
make[2]: *** [modules] Error 2
make[1]: *** [modules] Error 2
make[1]: Leaving directory `/usr/src/linux-2.6.5-7.97-obj/i386/default’
make: *** [linux26] Error 2

I did investigate the source in pciradio.c (which appears to be the showstopper right now) and it seems to be identical at that point to the 1.2.6 which compiled without problem.

Can anyone hint at what might be going on with either of these issues?

Update: if I exclude pciradio from the make, the compile proceeds to

Building modules, stage 2.
MODPOST
Warning: could not find versions for .tmp_versions/zaptel.mod
make[1]: Leaving directory `/usr/src/linux-2.6.5-7.97-obj/i386/default’

at which point it exits, presumably in error state even though this is only a warning.

Update 2: well I did make install anyway and it seems to be working just fine despite the warnings. Unless something is lurking…

I’ve had this problem for a number of versions. Essentially there’s an include missing (compared to other modules) but for some reason other distros are not causing trouble. It’s a problem in suse 9.x & 10.x for me. The fix is simple…

edit pciradio.c, find: -

#ifdef STANDALONE_ZAPATA #include "zaptel.h" #else #include <linux/zaptel.h> #endif
after that add: -

#ifdef LINUX26 #include <linux/moduleparam.h> #endif
save it and then make should go ok. A quick search for pciradio.c seems to show that a lot of people are having this issue and many of them are applying the same fix.

Yes, thanks, puts the pciradio thing to rest but the other warnings persist as before.

I did find that 1.2.8 will compile (where 1.2.7 did not) due to my removing references to newt. It is zttool that needs newt, and it appears that if there is no evidence of newt existing then Make does not attempt to compile zttool. If newt is there, even if broken (as it was on my box when attempting 1.2.7) then it will try to compile and run into errors.