2015-05-04 195 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