[asterisk-users] Fedora Core 6 (FC6) and Asterisk-1.2.13 and Zaptel-1.2.10 compile problems

Michael J. Tubby G8TIC mike.tubby at thorcom.co.uk
Tue Oct 31 01:28:42 MST 2006


All,

I have upgraded by home machine from Fedora Core 5 (FC5) to the recent FC6 and am struggling to build Zaptel-1.2.10 and Asterisk-1.2.13 on the box... which is an Intep P4 2.8GHz HT processor box with 845 chipset, hence the kernel installed is 2.6.18-1.2798.fc6-i686 so we hve this:

    [root at gate zaptel-1.2.10]# uname -a
    Linux gate.tubby.org 2.6.18-1.2798.fc6 #1 SMP Mon Oct 16 14:54:20 EDT 2006 i686 i686 i386 GNU/Linux

I have ensured that the kernel-devel package and glibc-kernel headers are installed.

When I attempt to compile Zaptel-1.2.10 I get the following:

    make[1]: Entering directory `/usr/src/kernels/2.6.18-1.2798.fc6-i686'
      CC [M]  /root/asterisk/zaptel-1.2.10/zaptel.o
    In file included from /root/asterisk/zaptel-1.2.10/zaptel.c:40:
    /root/asterisk/zaptel-1.2.10/zconfig.h:9:26: error: linux/config.h: No such file or directory
    make[2]: *** [/root/asterisk/zaptel-1.2.10/zaptel.o] Error 1
    make[1]: *** [_module_/root/asterisk/zaptel-1.2.10] Error 2
    make[1]: Leaving directory `/usr/src/kernels/2.6.18-1.2798.fc6-i686'
    make: *** [linux26] Error 2


and can confirm that the file does not exist in the path to the kernel source:

    /usr/src/kernels/2.6.18-1.2798.fc6-i686/include/linux/


Grabbing the 2.6.18 source from ftp.kernel.org and unpacking it finds the following contents:

    #ifndef _LINUX_CONFIG_H
    #define _LINUX_CONFIG_H
    /* This file is no longer in use and kept only for backward compatibility.
     * autoconf.h is now included via -imacros on the commandline
     */
    #include <linux/autoconf.h>
    
    #endif


but it doesn't exist in the FC6 kernel tree for 2.6.18-1.2798.fc6 ...


Likewise, attempting to build Asterisk-1.2.13 fails  thusly:

    chan_phone.c:41:29: error: linux/compiler.h: No such file or directory
    make[1]: *** [chan_phone.o] Error 1
    make[1]: Leaving directory `/root/asterisk/asterisk-1.2.13/channels'
    make: *** [subdirs] Error 1
    [root at gate asterisk-1.2.13]#


and the path:

    /usr/include/linux

doesn't have a compiler.h :o(

Hacking at the Makefile I added:

    INCLUDE+=-I/usr/src/kernels/2.6.18-1.2798.fc6-i686

which gets us a compiler.h and the build process continues somewhat further but then blows up due to a lack of zaptel.h (back to first problem)


My box is acient, having been RedHat 9, then FC2, FC3, FC5 and now FC6 ... so just to prove I'm not going mad (or possibly more likely the progressive upgrades left something broken) I did a clean install of FC6 to a spare box and tried to build with the same results.


So, to a bit more hacking... I copied "config.h" from the clean 2.6.18 kernel source tree to the FC6 tree in inlcude/linux and now I can compile and install the zaptel stuff, but I can't load it:

    [root at gate zaptel-1.2.10]# modprobe zaptel
    FATAL: Error inserting zaptel (/lib/modules/2.6.18-1.2798.fc6/misc/zaptel.ko): Invalid module format


I've copied the compiler.h across to /usr/inlcude/linux and now I can compile and link Asterisk-1.2.13 along with Asterisk-Addons-1.2.5 so I am able to get my system back online but only by removing the zaptel configuration :o(


Is Asterisk using deprecated kernel header files that some distros have decided to stop supporting/shipping? What do I need to do to get Zaptel drivers correctly compiled for my FC6 box?



Mike
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.digium.com/pipermail/asterisk-users/attachments/20061031/27959ec7/attachment.htm


More information about the asterisk-users mailing list