[Asterisk-Users] Compiling zaptel 1.0.2 on Fedora Core

Brian Wright bwright at boomerang.com
Mon Nov 29 18:08:23 MST 2004


I'm trying to get zaptel 1.0.2 compiled on FC2 or FC3 and I'm getting 
compile time errors.  Systems include:

FC2: Linux xxxxxxxxxxxx 2.6.9-1.3_FC2 #1 Mon Nov 15 14:46:43 EST 2004 
i686 i686 i386 GNU/Linux
FC3: Linux xxxxxxxxxxxx 2.6.9-1.681_FC3 #1 Thu Nov 18 15:13:22 EST 2004 
x86_64 x86_64 x86_64 GNU/Linux

/usr/home/bwright/zaptel-1.0.2> make linux26
...
make -C /usr/src/linux-2.6 SUBDIRS=/usr/home/bwright/zaptel-1.0.2 modules
make[1]: Entering directory `/usr/src/linux-2.6.9'
Makefile:461: .config: No such file or directory
  CC [M]  /usr/home/bwright/zaptel-1.0.2/zaptel.o
In file included from /usr/home/bwright/zaptel-1.0.2/zconfig.h:9,
                 from /usr/home/bwright/zaptel-1.0.2/zaptel.c:40:
include/linux/config.h:4:28: linux/autoconf.h: No such file or directory
In file included from /usr/home/bwright/zaptel-1.0.2/zaptel.c:40:
/usr/home/bwright/zaptel-1.0.2/zconfig.h:10:27: linux/version.h: No such 
file or directory
/usr/home/bwright/zaptel-1.0.2/zconfig.h:66:41: missing binary operator 
before token "("
In file included from include/linux/kernel.h:11,
                 from /usr/home/bwright/zaptel-1.0.2/zaptel.c:42:
include/linux/linkage.h:5:25: asm/linkage.h: No such file or directory
In file included from include/linux/types.h:13,
                 from include/linux/kernel.h:13,
                 from /usr/home/bwright/zaptel-1.0.2/zaptel.c:42:
include/linux/posix_types.h:47:29: asm/posix_types.h: No such file or 
directory
In file included from include/linux/kernel.h:13,
                 from /usr/home/bwright/zaptel-1.0.2/zaptel.c:42:
include/linux/types.h:14:23: asm/types.h: No such file or directory
In file included from include/linux/kernel.h:13,
                 from /usr/home/bwright/zaptel-1.0.2/zaptel.c:42:
include/linux/types.h:18: error: syntax error before "__kernel_dev_t"
include/linux/types.h:18: warning: type defaults to `int' in declaration 
of `__kernel_dev_t'
include/linux/types.h:18: warning: data definition has no type or 
storage class
include/linux/types.h:21: error: syntax error before "dev_t"
include/linux/types.h:21: warning: type defaults to `int' in declaration 
of `dev_t'
include/linux/types.h:21: warning: data definition has no type or 
storage class
include/linux/types.h:22: error: syntax error before "ino_t"
include/linux/types.h:22: warning: type defaults to `int' in declaration 
of `ino_t'
include/linux/types.h:22: warning: data definition has no type or 
storage class
[long errors blah blah blah snipped]

What appears to be happening is that the #include statement is trying to 
include linux/*.h from both /usr/src/linux-2.6/include/linux and 
/usr/include/linux.  Apparently, this conflicting include directory 
namespace doesn't work when compiling kernel drivers on Fedora Core.  
So, it appears to be ignoring /usr/include/linux entirely.  The compile, 
thus, fails finding autoconf.h, version.h and possibly other header 
files located in /usr/include/linux which shouldn't be in 
/usr/src/linux-2.6/include/linux. 

The other thing I've noticed is the following:

 >more /usr/include/linux/autoconf.h
#error Invalid kernel header included in userspace

 >more /usr/include/linux/config.h
#ifndef _LINUX_CONFIG_H
#define _LINUX_CONFIG_H

#ifdef __KERNEL__
#error Incorrectly using glibc headers for a kernel module
#endif

#endif

Clearly, if creating a kernel driver on FC2 or FC3, they don't really 
want you including these header files anyway and will error out anyway 
if you do manage to include them.  So, I'd have to say that the zaptel 
drivers are going to need a bit of work to compile properly under FC2 or 
FC3 anyway.  This might also explain why the compiler is ignoring 
/usr/include/linux.

So, is there any way around this problem?  I've already had my hand at 
editing the Makefile, but I can't seem to make it do anything different 
than this.  If anyone has any ideas, please let me know.  I'd like to 
get this driver compiled.

Thanks.

-- 
Brian Wright <bwright at boomerang.com>
Manager of Network Operations
Boomerang.com
650-798-1017




More information about the asterisk-users mailing list