我试图在Centos 7上编译dahdi-linux。我已经安装了gcc-9和最新的内核(我需要dahdi-echocan-oslec,标准内核太老了),这是错误的。
c/x86_64-redhat-linux/9/include/'/bin/gcc LDFLAGS='-I/opt/rh/devtoolset-9/root/usr/lib/gcc
make -C drivers/dahdi/firmware firmware-loaders
make[1]: Entering directory `/home/user/rpmbuild/BUILD/dahdi-linux-20221203git/drivers/dahdi/firmware'
make[1]: Leaving directory `/home/user/rpmbuild/BUILD/dahdi-linux-20221203git/drivers/dahdi/firmware'
make -C /lib/modules/6.0.11-1.el7.elrepo.x86_64/build M=/home/user/rpmbuild/BUILD/dahdi-linux-20221203git/drivers/dahdi DAHDI_INCLUDE=/home/user/rpmbuild/BUILD/dahdi-linux-20221203git/include DAHDI_MODULES_EXTRA=" " HOTPLUG_FIRMWARE=yes modules DAHDI_BUILD_ALL=m
make[1]: Entering directory `/usr/src/kernels/6.0.11-1.el7.elrepo.x86_64'
CC [M] /home/user/rpmbuild/BUILD/dahdi-linux-20221203git/drivers/dahdi/wct4xxp/base.o
/home/user/rpmbuild/BUILD/dahdi-linux-20221203git/drivers/dahdi/wct4xxp/base.c:45:10: fatal error: stdbool.h: File o directory non esistente
45 | #include <stdbool.h>
| ^~~~~~~~~~~
compilation terminated.
make[4]: *** [/home/user/rpmbuild/BUILD/dahdi-linux-20221203git/drivers/dahdi/wct4xxp/base.o] Errore 1
make[3]: *** [/home/user/rpmbuild/BUILD/dahdi-linux-20221203git/drivers/dahdi/wct4xxp] Errore 2
make[2]: *** [/home/user/rpmbuild/BUILD/dahdi-linux-20221203git/drivers/dahdi] Errore 2
make[1]: *** [__sub-make] Errore 2
make[1]: Leaving directory `/usr/src/kernels/6.0.11-1.el7.elrepo.x86_64'
make: *** [modules] Errore 2请求的标头在这里
ls /opt/rh/devtoolset-9/root/usr/lib/gcc/x86_64-redhat-linux/9/include/stdbool.h
/opt/rh/devtoolset-9/root/usr/lib/gcc/x86_64-redhat-linux/9/include/stdbool.h我试过了..。
make CC=/opt/rh/devtoolset-9/root/bin/gcc LDFLAGS'-I/opt/rh/devtoolset-9/root/usr/lib/gcc/x86_64-redhat-linux/9/include/'
make CC=/opt/rh/devtoolset-9/root/bin/gcc CFLAGS'-I/opt/rh/devtoolset-9/root/usr/lib/gcc/x86_64-redhat-linux/9/include/'
make CC=/opt/rh/devtoolset-9/root/bin/gcc CFLAGS="-Wall -O2 -pipe -fPIE" LDFLAGS="-z now -pie -I/opt/rh/devtoolset-9/root/usr/include/c++/9/tr" CPPFLAGS="-I/opt/rh/devtoolset-9/root/usr/include/c++/9/tr"而且还
export CFLAGS="-I/opt/rh/devtoolset-9/root/usr/include/c++/9/tr"
export CPPLAGS="-I/opt/rh/devtoolset-9/root/usr/include/c++/9/tr"
export LDFLAGS="-I/opt/rh/devtoolset-9/root/usr/include/c++/9/tr"然后
make CC...而且还
export EXTRA_CFLAGS="-I/opt/rh/devtoolset-9/root/usr/include/c++/9/tr"
make CC=/opt/rh/devtoolset-9/root/bin/gcc EXTRA_CFLAGS="-I/opt/rh/devtoolset-9/root/usr/include/c++/9/tr"但失败了
发布于 2022-12-03 16:46:49
找到解决办法了。在编译dahdi的新内核上,我们需要一些补丁,一个是关于最新的dahdi "14-dahdi-do-not-use-stdbool.h-in-kernel-modules.patch“,您可以在Debian dahdi软件包来源上找到它。
https://stackoverflow.com/questions/74668408
复制相似问题