我正在尝试为ARM交叉编译星号。当我交叉编译诸如sqlite3,ncurses和openssl之类的强制性模块,然后在与它们各自的选项--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


我知道当它可以检查音调区域然后寻找dahdi / tonezone.h时,它运行正确。然后,我看不到任何错误,但是运行make menuconfig时无法选择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时,$(DAHDI_BUILD_RESULT_DIR)包含我的结果,请假定我正确执行了此操作,因为这是结果中的驱动程序之一:

$(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.星号11.11.0
5.硬件:Beagleboneblack

如果有人有想法,或者知道如何与dahdi交叉编译星号,将为您提供帮助。
最良好的问候。
黎当

最佳答案

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

09-11 18:33