最近购置一台NUC以便可以快速在单位编译OpenWrt,由于硬件较新,故安装Ubuntu 18.04,拷贝代码至该新系统后编译过程中遇到了一系列问题,经GOOGLE后得出解决方案,特此记录便于他人排故!
1. 编译初期检查系统依赖提示Please install Git (git-core) >= 1.6.5
原因: 此为Ubuntu 18.04所安装之Git2显示版本的命令行不同于先前版本所致
解决: 修改源码下之include/prereq-build.mk文件,搜索"git clone 2>&1 | grep -- --recursive",将之改为"git version"
来源: http://www.bloguan.com/?id=474
2. Unescaped left brace in regex is illegal here in regex; marked by <-- HERE in m/${ <-- HERE ([^ \t=:+{}]+)}/ at xxxx/usr/bin/automake line 3939
原因: 此为Perl版本更新后对语法规范进行了变更,若左花括号作为文本则应当进行转义
解决: 修改dl下automake源码的bin/automake.in文件,搜索
$text =~ s/\${([^ \t=:+{}]+)}/substitute_ac_subst_variables_worker ($1)/ge;
将其改为
$text =~ s/\$[{]([^ \t=:+{}]+)}/substitute_ac_subst_variables_worker ($1)/ge;
来源: https://www.cnblogs.com/zengjfgit/p/9178523.html
3. build_dir/host/u-boot-2014.10/lib/rsa/rsa-sign.c:279:21: error: dereferencing pointer to incomplete type 'RSA {aka struct rsa_st}'
原因: 此为Ubuntu18.04安装的libssl-dev为1.1版本,而OpenWrt 15.05.1不支持此版本
解决: 卸载libssl-dev并安装libssl1.0-dev
请注意,本站的所有文章均要求阁下在转载时注明出处和原作者,阁下转载本站文章即表示阁下同意并遵守此规程,除非特别注明转载出处,否则文章即为其发布者所著。本站及文章作者保留文章的著作权并有权在阁下违反上述规程时予以追究。