我下载了DAHDI 2.6.1 + 2.6.1和Linux Kernel 3.8.0-29通用的源代码。
当我键入sudo apt-get install linux-headers-$(uname -r)
来安装 Linux 内核头时,我收到如下所示的消息:
Reading package lists... Done
Building dependency tree
Reading state information... Done
linux-headers-3.8.0-29-generic is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 2 not upgraded.
当我尝试在我的 UBUNTU 服务器上编译和安装 DAHDI 时,我遇到了问题。它向我显示下面显示的消息:
/home/asteriskpbx/src/asterisk-complete/dahdi/2.6.1+2.6.1/linux/drivers/dahdi/wctdm.c:2604:22: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'wctdm_init_one'
/home/asteriskpbx/src/asterisk-complete/dahdi/2.6.1+2.6.1/linux/drivers/dahdi/wctdm.c:289:22: warning: 'ifaces' defined but not used [-Wunused-variable]
/home/asteriskpbx/src/asterisk-complete/dahdi/2.6.1+2.6.1/linux/drivers/dahdi/wctdm.c:2592:13: warning: 'wctdm-reset_tdm' defined but not used [-Wunused-function]
等等...
最后,它显示:
cc1: some warnings being treated as errors
make[3] : *** [/home/asteriskpbx/src/asterisk-complete/dahdi/2.6.1+2.6.1/linux/drivers/dahdi/wctdm.o] Error 1
make[2] : *** [_module_/home/asteriskpbx/src/asterisk-complete/dahdi/2.6.1+2.6.1/linux/drivers/dahdi] Error 2
make[2] : Leaving directory '/usr/src/linux-headers-3.8.0-29-generic'
make[1] : *** [modules] Error 2
make[1] : Leaving directory '/home/asteriskpbx/src/asterisk-complete/dahdi/2.6.1+2.6.1/linux'
make: *** [all] Error 2
我在尝试从源代码构建时遇到了同样的问题。 我从SVN存储库中签出了最新版本的dahdi。 不幸的是,最新版本是2.6.1 + 2.6.1。 转到主站点并下载最新版本:
wget http://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gzenter code here
解压缩,然后再次尝试"全部制作"命令。
首先,错误在您的日志上方。所以你没有提供错误。
很可能您的问题太旧了,内核太新了。解决方案 - 使用最新的 dahdi,现在是 2.7.0。
此外,如果您不需要驱动程序,您可以随时从makefile tdm卡中删除。
如果你是新手,我强烈建议你使用 ubuntu 软件包,而不是做专家工作(编译星号)。