centos 中安装 dahdi 时出现内核源错误

centos 中安装 dahdi 时出现内核源错误

尝试从关联我已经下载了 dahdi 的软件包。但在执行

cd /usr/src/dahdi-linux-complete*
make && make install && make config

我的终端显示

[root@localhost dahdi-linux-complete-2.10.0+2.10.0]# make
make -C linux all
make[1]: Entering directory `/usr/src/dahdi-linux-complete-2.10.0+2.10.0/linux'
make -C drivers/dahdi/firmware firmware-loaders
make[2]: Entering directory `/usr/src/dahdi-linux-complete-2.10.0+2.10.0/linux/drivers/dahdi/firmware'
make[2]: Leaving directory `/usr/src/dahdi-linux-complete-2.10.0+2.10.0/linux/drivers/dahdi/firmware'
You do not appear to have the sources for the 2.6.32-431.29.2.el6.x86_64 kernel installed.
make[1]: *** [modules] Error 1
make[1]: Leaving directory `/usr/src/dahdi-linux-complete-2.10.0+2.10.0/linux'
make: *** [all] Error 2

uname -r 的输出

[root@localhost dahdi-linux-complete-2.10.0+2.10.0]# uname -r
 2.6.32-431.29.2.el6.x86_64

我有内核源代码,那为什么它会显示这条消息 您似乎没有安装 2.6.32-431.29.2.el6.x86_64 内核的源代码。

我知道这个问题被问过很多次了。我试过这些方法,但都没能解决这个问题。我试过更新我的系统,但系统上没有提示要更新。

除了重新安装操作系统之外还有什么建议吗?

答案1

当然,这到处都有描述。如果你不想读,试试这个:

yum update -y
yum install kernel-devel -y
reboot

答案2

我检查了源代码并发现它看起来位于不同的位置。

第一次运行

yum install kernel-devel
reboot

诀窍如下

ln -s /usr/src/linux /usr/src/kernels/`uname -r`

例如在我的服务器中

[root@freepbx ~]# ls -l /usr/src

lrwxrwxrwx 1 root root 34 7 月 12 日 17:31 linux -> kernels/3.10.0-862.3.3.el7.x86_64/

答案3

使用 YUM 进行首次更新:

yum update

在 CentOS / RHEL 上安装内核头文件和内核开发文件:

yum install kernel-devel kernel-headers

重新启动并尝试重建 Asterisk / DAHDI 工具,如果仍然失败,请使用以下命令检查您的内核版本:

uname -r

然后检查链接的内核源:

cd /lib/modules/`uname -r`

使用以下命令检查符号链接:

ls -l

如果链接坏了,请使用以下方法修复:

ln -s /usr/src/kernels/(kernel-source-dir) build

https://itgala.xyz/你-do-not-appear-to-have-the-sources-for-kernel-installed/

相关内容