我试图为Armhf平台交叉编译Asterisk。
我正在使用 g ++ - arm-linux-gnueabihf&& gcc-arm-linux-gnueabihf 用于交叉编译Asterisk的软件包,具有以下2个先决条件:
SQlite3:
./ configure --prefix = / usr / arm-linux-gnueabihf --host = arm-linux-gnueabihf CC = arm-linux-gnueabihf-gcc 制造&& make install
Ncurses:
./ configure --host = arm-linux-gnueabihf --prefix = / usr / arm-linux-gnueabihf CXX = arm-linux-gnueabihf-g ++ 制造&& make install
当我交叉编译Asterisk时:
./ configure --host = arm-linux-gnueabihf CC = arm-linux-gnueabihf-gcc --prefix = MY_RESULT_DEST_DIR --disable-xmldoc --build = i686-pc-linux-gnu 使menuselect&&制造&& make install
它工作得很好,但我不明白的是为什么配置脚本会识别我的ncurses&& sqlite3结果目录?
当我在特定目录上安装ncurses和sqlite3时出现错误,然后使用2个参数配置asterisk源--with-ncurses&& --with-sqlite3,
./ configure --host = arm-linux-gnueabihf CC = arm-linux-gnueabihf-gcc --prefix = MY_RESULT_DEST_DIR --disable-xmldoc --build = i686-pc-linux-gnu --with-ncurses = NCURSES_RESULT --with-sqlite3 = SQLITE3_RESULT
它适用于配置但无法生成,并且使用make
引发了以下错误检查-ltermcap中的tgetent ...没有 检查-ltinfo中的tgetent ...没有
在-lcurses中检查tgetent ...没有
检查-lncurses中的tgetent ...没有
configure:error:找不到termcap支持
make [1]: * [editline / libedit.a]错误1
make:* [main]错误2
那么,我该怎么做才能解决这个问题呢?任何帮助将不胜感激 提前谢谢你 Dang Loi
答案 0 :(得分:1)
我确实通过将 ac_cv_lib_ $ ac_lib_var 转换为yes来编辑main / editline / configure文件,以便在运行make时绕过termcap检查,并且它始终有效。
if { (eval echo configure:1282: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && t$
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
echo "configure: failed program was:" >&5
cat conftest.$ac_ext >&5
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
fi

答案 1 :(得分:0)
您应该安装pkgconfig或为您的手动路径更改Makefile
注意,asterisk make文件未针对您的架构进行测试。
但它开源,所以你是免费测试,做更改和提交。或聘请能够做到这一点的人。