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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

asterisk for mipsel

發布時間:2023/12/10 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 asterisk for mipsel 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

任務:將asterisk1.8.24.0移植到rt5350上面

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

1. 配置asterisk,執行./configure --host=mipsel-linux

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

 再執行./configure --host=mipsel-linux,發現還是找不到libxml2。根據提示可以將其關閉。

 執行./configure --host=mipsel-linux --disable-xmldoc

2. 編譯asterisk, 執行make,編譯報錯,報錯信息望記了,實際就是少了SDL庫,交叉編譯后,將庫文件和

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

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

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

??? 在編譯channels/sip/reqresp_parser.c時報錯

 LC_CTYPE_MASK undeclared

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

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

 實際這個問題比較奇怪,在configure的時候,可以看到這兩句,

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

 理論上說,HAVE_XLOCALE_H這個宏不應該被定義。

4. 因為rt5350上面只有一個4MB大小的norflash,所以只能將其放到外部存儲上來運行。

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

 make && make install。

 注意:先在上午機上面創建/media/sda1這個目錄,這樣在make install 后,就可以直接在/media/sda1目錄

 下得到編譯好的asterisk了。

5. 將編譯好的asterisk拷貝到外部存儲上運行,發現不正常,但又看不到錯誤信息,

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

6. 再次運行后,看到報錯信息,在源碼里搜索報錯信息后,發現是main/asterisk.c的這一行報的錯

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

 實際就在綁定unix域協議socket的時候報的錯,再使用unix域協議的時候,實際是綁定了一個本地的socket

?? 類型的文件,經過自己編寫測試程序,發現是沒法在外部存儲上創建這個socket文件。(應該是外部存儲是

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

7. 經過查看源碼,發現這個socket文件的路徑是在configure的時候生成在defaults.h這個頭文件里的,修改這個頭文件,將#define DEFAULT_SOCKET改為norflash的位置即可。再次編譯,將編譯出來的asterisk文件拷貝過去即可。




 

總結

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

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。