source build/envsetup.sh
lunch
选择astar-parrot-tina
make -j4
pack -d
问题:
Build dependency: Please install Git (git-core) >= 1.6.5
解决:
修改 ./build/prereq-build.mk
$(eval $(call SetupHostCommand,git,Please install Git (git-core) >= 1.6.5, \
git clone 2>&1 | grep -- --recursive))
为
$(eval $(call SetupHostCommand,git,Please install Git (git-core) >= 1.6.5, \
git --version))
问题:
make[3]: Leaving directory '/opt/tina2.5/package/firmware/linux-firmware'
Unescaped left brace in regex is illegal here in regex; marked by <-- HERE in m/\${ <-- HERE ([^ \t=:+{}]+)}/ at /opt/tina2.5/out/host/bin/automake-1.15 line 3938.
make[3]: Entering directory '/opt/tina2.5/package/libs/zlib'
Argument "4.2.1" isn't numeric in numeric ge (>=) at /opt/tina2.5/scripts/feeds line 25.
make[4]: *** [Makefile:432: Makefile.in] Error 1
make[4]: Leaving directory '/opt/tina2.5/out/astar-parrot/compile_dir/target/json-c-0.12'
make[3]: *** [Makefile:56: /opt/tina2.5/out/astar-parrot/compile_dir/target/json-c-0.12/.built] Error 2
make[3]: Leaving directory '/opt/tina2.5/package/libs/libjson-c'
make[2]: *** [package/Makefile:193: package/libs/libjson-c/compile] Error 2
make[2]: *** Waiting for unfinished jobs....
Argument "4.2.1" isn't numeric in numeric ge (>=) at /opt/tina2.5/scripts/feeds line 25.
Argument "4.2.1" isn't numeric in numeric ge (>=) at /opt/tina2.5/scripts/feeds line 25.
解决:
因为perl新版不支持regrex中直接加{
/opt/tina2.5/out/host/bin/automake 与 /opt/tina2.5/out/host/bin/automake-1.15中的
$text =~ s/\${([^ \t=:+{}]+)}/substitute_ac_subst_variables_worker ($1)/ge;
都改成
$text =~ s/\$[{]([^ \t=:+{}]+)}/substitute_ac_subst_variables_worker ($1)/ge;
问题:
<-- HERE in m/\${ <-- HERE ([^ \t=:+{}]+)}/ at ./bin/automake.tmp
解决:
创建 tools/automake/patches/010-automake-port-to-Perl-5.22-and-later.patch
diff --git a/bin/automake.in b/bin/automake.in
index a3a0aa318..2c8f31e14 100644
--- a/bin/automake.in
+++ b/bin/automake.in
@@ -3878,7 +3878,7 @@ sub substitute_ac_subst_variables_worker
sub substitute_ac_subst_variables
{
my ($text) = @_;
- $text =~ s/\${([^ \t=:+{}]+)}/substitute_ac_subst_variables_worker ($1)/ge;
+ $text =~ s/\$[{]([^ \t=:+{}]+)}/substitute_ac_subst_variables_worker ($1)/ge;
return $text;
}
问题:
mkimage: error while loading shared libraries: libssl.so.1.0.0: cannot open shared object file: No such file or directory
解决:
安装uboot-tools(其中会带mkimage),或者单独编译uboot后取其下的mkimage, 然后要用新的mkimage替换掉out/host/bin/mkimage
问题:
gdate.c: In function 'g_date_strftime':
gdate.c:2497:7: error: format not a string literal, format string not checked [-Werror=format-nonliteral]
tmplen = strftime (tmpbuf, tmpbufsize, locale_format, &tm);
解决:
./out/astar-parrot/compile_dir/host/pkg-config-0.29/glib/glib/gdate.c
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wformat-nonliteral"
tmplen = strftime (tmpbuf, tmpbufsize, locale_format, &tm);
+#pragma GCC diagnostic pop
问题:
include/linux/compiler-gcc.h:114:1: fatal error: linux/compiler-gcc7.h: No such file or directory
解决:
网上下载一个compiler-gcc7.h到uboot中
问题:
alsamixer-mixer_display.o: In function `display_controls':
mixer_display.c:(.text+0xb48): undefined reference to `_nc_acs_map'
解决:
cd out/astar-parrot/compile_dir/target/alsa-utils-1.1.0/alsamixer
make clean
make
编译成功后,生成usb烧录镜像out/astar-parrot/tina_astar-parrot_card0.img
作者:帅得不敢出门