2015-05-04 193 views
4

我想交叉编译ARM的星号。当我跨平台编译强制性模块,如sqlite3的,ncurses的和OpenSSL,然后包括他们时,交叉编译星号各自的选择

一切都很好--with-sqlite3的,--with-ncurses的--with-加密和--with-ssl。

但是,当我试图包括达赫迪,没有成真。这件事发生时--with-DAHDI = $(DAHDI_DIR)/ Linux的:如何与dahdi交叉编译用于arm的交叉编译的星号?

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

我知道它去正确时,它可以检查tonezone,然后寻找DAHDI/tonezone.h。然后我看不出有什么错误,但chan_dahdi运行make menuconfig后
不能选择这发生了,当--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

回答

1

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

1

我非常感谢@viktike帮助我解决问题。添加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" 

Asterisk然后配置和建立与dahdi安装。
最佳注意
Loi Dang