大概解决了。编译openwrt代码提示缺失ncurses和zlib是一个历史悠久的bug,比如2012年的
http://forums.linuxmint.com/viewtopic.php?f=47&t=87338解决方法比较dirty,直接复制原文的方法好了:
打开 ./include/prereq-build.mk ,找到这一段:
define Require/ncurses
echo 'int main(int argc, char **argv) { initscr(); return 0; }' | \
gcc -include ncurses.h -x c -o $(TMP_DIR)/a.out -lncurses -
endef
define Require/zlib
echo 'int main(int argc, char **argv) { gzdopen(0, "rb"); return 0; }' | \
gcc -include zlib.h -x c -o $(TMP_DIR)/a.out -lz -
endef
tonnie78 的解决方法是将这一段改为
define Require/ncurses
echo 'int main(int argc, char **argv) { initscr(); return 0; }' | \
gcc -include ncurses.h -x c -o $(TMP_DIR)/a.out --lncurses
endef
define Require/zlib
echo 'int main(int argc, char **argv) { gzdopen(0, "rb"); return 0; }' | \
gcc -include zlib.h -x c -o $(TMP_DIR)/a.out --lz
endef
经测试对zlib无效。于是使用简单暴力的hard code:
define Require/ncurses
echo 1
endef
define Require/zlib
echo 1
endef
目前编译中,尚未发现问题。