日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

asterisk for mipsel

發(fā)布時(shí)間:2023/12/10 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 asterisk for mipsel 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

任務(wù):將asterisk1.8.24.0移植到rt5350上面

交叉工具鏈:mipsel-linux(3.4.2)

1. 配置asterisk,執(zhí)行./configure --host=mipsel-linux

??? 找不到termcap和libxml2,分別對(duì)他們交叉編譯,然后將生成的庫拷貝到交叉工具鏈的lib目錄下即可。

 再執(zhí)行./configure --host=mipsel-linux,發(fā)現(xiàn)還是找不到libxml2。根據(jù)提示可以將其關(guān)閉。

 執(zhí)行./configure --host=mipsel-linux --disable-xmldoc

2. 編譯asterisk, 執(zhí)行make,編譯報(bào)錯(cuò),報(bào)錯(cuò)信息望記了,實(shí)際就是少了SDL庫,交叉編譯后,將庫文件和

 頭文件都拷貝到交叉工具鏈的include和lib目錄下。再編譯即可。

3. 成功編譯后,并沒有生成chan_sip.so(最重要的文件)。

 修改menuselect.makeopts文件,將chan_sip去掉。即可編譯。

??? 在編譯channels/sip/reqresp_parser.c時(shí)報(bào)錯(cuò)

 LC_CTYPE_MASK undeclared

 解決辦法,修改include/asterisk/autoconfig.h文件,去掉#define HAVE_XLOCALE_H 1這行。

 這樣就可以生成出chan_sip.so了。

 實(shí)際這個(gè)問題比較奇怪,在configure的時(shí)候,可以看到這兩句,

 checking for locale_t in locale.h... no
 checking for locale_t in xlocale.h... no

 理論上說,HAVE_XLOCALE_H這個(gè)宏不應(yīng)該被定義。

4. 因?yàn)閞t5350上面只有一個(gè)4MB大小的norflash,所以只能將其放到外部存儲(chǔ)上來運(yùn)行。

 所以重新配置asterisk,./configure --host=mipsel-linux --disable-xmldoc --prefix=/media/sda1

 make && make install。

 注意:先在上午機(jī)上面創(chuàng)建/media/sda1這個(gè)目錄,這樣在make install 后,就可以直接在/media/sda1目錄

 下得到編譯好的asterisk了。

5. 將編譯好的asterisk拷貝到外部存儲(chǔ)上運(yùn)行,發(fā)現(xiàn)不正常,但又看不到錯(cuò)誤信息,

 修改main/asterisk.c ,將daemon(1, 0)的第二個(gè)參數(shù)改為1,再編譯,然后只把a(bǔ)sterisk這個(gè)可執(zhí)行文件拷貝過 去即可。

6. 再次運(yùn)行后,看到報(bào)錯(cuò)信息,在源碼里搜索報(bào)錯(cuò)信息后,發(fā)現(xiàn)是main/asterisk.c的這一行報(bào)的錯(cuò)

 res = bind(ast_socket, (struct sockaddr *)&sunaddr, sizeof(sunaddr));

 實(shí)際就在綁定unix域協(xié)議socket的時(shí)候報(bào)的錯(cuò),再使用unix域協(xié)議的時(shí)候,實(shí)際是綁定了一個(gè)本地的socket

?? 類型的文件,經(jīng)過自己編寫測(cè)試程序,發(fā)現(xiàn)是沒法在外部存儲(chǔ)上創(chuàng)建這個(gè)socket文件。(應(yīng)該是外部存儲(chǔ)是

?? FAT32文件系統(tǒng)的緣故,估計(jì)格式化為ext3就行了。)那么我們可以將其指? 定到norflash上即可。

7. 經(jīng)過查看源碼,發(fā)現(xiàn)這個(gè)socket文件的路徑是在configure的時(shí)候生成在defaults.h這個(gè)頭文件里的,修改這個(gè)頭文件,將#define DEFAULT_SOCKET改為norflash的位置即可。再次編譯,將編譯出來的asterisk文件拷貝過去即可。




 

總結(jié)

以上是生活随笔為你收集整理的asterisk for mipsel的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。