linux-kernel - 如何与已经为 arm 交叉编译的 dahdi 交叉编译 Asterisk ?

标签 linux-kernel arm cross-compiling asterisk

我正在尝试为 ARM 交叉编译 Asterisk 。当我交叉编译像 这样的强制模块时,一切都很好sqlite3、ncurses 和 openssl 然后在使用它们各自的选项交叉编译 Asterisk 时包括它们 --with-sqlite3、--with-ncurses --with-crypto 和 --with-ssl。
但是当我试图包括 dahdi 时,什么都没有实现。这发生在 --with-dahdi=$(DAHDI_DIR)/linux 时:

checking for tone_zone_find_by_num in -ltonezone...no
checking for tone_zone_find in -ltonezone... no

我知道当它可以检查tonezone然后寻找dahdi/tonezone.h时它是正确的。然后我看不到错误,但是 chan_dahdi 运行时无法选择制作菜单配置
这发生在 --with-dahdi=$(DAHDI_BUILD_RESULT_DIR) :
checking for mandatory modules:  CRYPTO DAHDI NCURSES SQLITE3 OPENSSL... fail

configure: ***
configure: *** The DAHDI installation appears to be missing or broken.
configure: *** Either correct the installation, or run configure
configure: *** including --without-dahdi.

请注意,$(DAHDI_BUILD_RESULT_DIR) 包含我在构建 dahdi 时的结果,假设我做对了,因为这是结果中的驱动程序之一:
$(DAHDI_BUILD_RESULT_DIR)/lib/modules/3.8.13/dahdi/dahdi.ko: ELF 32-bit LSB relocatable, ARM, EABI5 version 1 (SYSV), BuildID[sha1]=2b16a606c922ca5f10288dba98f2b365e8316748, not stripped

我的过程中使用的东西:
1. dahdi 2.10 完成
2. linaro 交叉编译工具链
3.Linux内核3.8.13
4. Asterisk 11.11.0
5. 硬件:Beagleboneblack

如果有人有想法,或者知道如何用 dahdi 交叉编译 Asterisk ,我们将不胜感激。
最良好的问候。
来当

最佳答案

查看 asterisk 的 configure.ac,它检查 dahdi 的 dahdi-tools 部分(用户空间)是否完整,编译不需要 dahdi-linux 部分(内核模块)。确保头文件安装在正确的位置,通常是/usr/include。

关于linux-kernel - 如何与已经为 arm 交叉编译的 dahdi 交叉编译 Asterisk ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30027121/

相关文章:

c - 如何计算 ls 多列显示所需的列宽?

linux - 什么是 Linux 内核上下文中的 DMA 映射和 DMA 引擎?

c - ARM Cortex 上的 super 简单 Tasker

linux - 有没有办法让 guest 内核直接访问 mmc Controller ?

c++ - 在 Windows 上运行在 Linux 上交叉编译的 exe

c - 编译时 libcurl 错误(负值)

将基于 gnulib 的项目交叉编译到 MinGW

linux - linux 中缺少 slab.h 包括 - Ubuntu 16 VM

c - 内核如何探测驱动程序

arm - ARM中的字节序转换