我正在尝试交叉编译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_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.星号11.11.0
5.硬件:Beagleboneblack
如果有人有想法,或者知道如何与dahdi交叉编译星号,那么您的帮助将不胜感激.
最良好的问候.
Loi Dang
最佳答案 查看asterisk的configure.ac,它会检查dahdi完成的dahdi-tools部分(用户空间),编译时不需要dahdi-linux部分(kernel-modules).确保头文件安装在正确的位置,通常是/usr/include.