我正在尝试跨编译星号的手臂。
当我跨编译强制模块时,一切都很好strong> - with-sqlite3, - with-ncurses -with-with-crypto和-with-ssl。
但是,当我试图包括Dahdi时,什么都没有实现。这发生在-with-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时,它就正确了。然后,我看到没有错误,但是当运行使Menuconfig
这发生在-with-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 Part(用户空间),Dahdi-Linux Part(内核模块)不需要编译。确保标题文件安装在正确的位置,通常是/usr/include。
我非常感谢@viktike帮助我陷入困境。在运行配置 Asterisk脚本时,将CFLAGS
点添加到Dahdi C标头文件,并将LDFLAGS
指向LIB文件作为参数。
./configure [other argument] CFLAGS="-g -I/home/thanhloi/workspace/asterisk/dahdi-linux-complete-2.10.1+2.10.1/RESULT/usr/include/" LDFLAGS="-L/home/thanhloi/workspace/asterisk/dahdi-linux-complete-2.10.1+2.10.1/RESULT/usr/lib/ -lpthread -ldl"
星号随后安装了Dahdi配置和构建。
最好的尊重
loi dang