Open andreibanaru opened 5 years ago
The error is with automake and perl v5.26. In perl v5.22, using a literal { in a regular expression was deprecated, and will emit a warning if it isn't escaped: {. In v5.26, this won't just warn, it'll cause a syntax error.
A temporary work around is to edit automake file (buildroot/output/host/usr/bin/automake- and modify):
================================================= goto line :3936 and change $text =~ s/\${([^ \t=:+{}]+)}/substitute_ac_subst_variables_worker ($1)/ge; to $text =~ s/\${([^ \t=:+{}]+)}/substitute_ac_subst_variables_worker ($1)/ge;
==========================================
The error is with automake and perl v5.26. In perl v5.22, using a literal { in a regular expression was deprecated, and will emit a warning if it isn't escaped: {. In v5.26, this won't just warn, it'll cause a syntax error.
A temporary work around is to edit automake file (buildroot/output/host/usr/bin/automake- and modify):
================================================= goto line :3936 and change $text =~ s/${([^ \t=:+{}]+)}/substitute_ac_subst_variables_worker ($1)/ge; to $text =~ s/${([^ \t=:+{}]+)}/substitute_ac_subst_variables_worker ($1)/ge;
==========================================
i do not see any differences between the 2 lines.
$text =~ s/\$\{([^ \t=:+\{\}]+)\}/substitute_ac_subst_variables_worker ($1)/ge;
@seandex line 3936 must be replaced by:
$text =~ s/\$[{]([^ \t=:+{}]+)}/substitute_ac_subst_variables_worker ($1)/ge;
See https://git.openwrt.org/?p=openwrt/openwrt.git;a=patch;h=92c80f38cff3c20388f9ac13d5196f2745aeaf77
@seandex line 3936 must be replaced by:
$text =~ s/$[{]([^ \t=:+{}]+)}/substitute_ac_subst_variables_worker ($1)/ge;
See https://git.openwrt.org/?p=openwrt/openwrt.git;a=patch;h=92c80f38cff3c20388f9ac13d5196f2745aeaf77
This worked for me though, I just wanted to correct the OP.
$text =~ s/\$\{([^ \t=:+\{\}]+)\}/substitute_ac_subst_variables_worker ($1)/ge;
Hi
I can't find the "host/usr/bin/automake" in operwrt 15.05:
/home/ubuntu/odin-wi5/Odin_Wi5_firmware_build/openwrt/build_dir/host/automake-1.15/lib/missing: line 81: makeinfo: command not found WARNING: 'makeinfo' is missing on your system. You should only need it if you modified a '.texi' file, or any other file indirectly affecting the aspect of the manual. You might want to install the Texinfo package: http://www.gnu.org/software/texinfo/ The spurious makeinfo call might also be the consequence of using a buggy 'make' (AIX, DU, IRIX), in which case you might want to install GNU make: http://www.gnu.org/software/make/ Makefile:2516: recipe for target 'doc/automake.info' failed make[4]: [doc/automake.info] Error 127 make[4]: Leaving directory '/home/ubuntu/odin-wi5/Odin_Wi5_firmware_build/openwrt/build_dir/host/automake-1.15' Makefile:50: recipe for target '/home/ubuntu/odin-wi5/Odin_Wi5_firmware_build/openwrt/build_dir/host/automake-1.15/.built' failed make[3]: [/home/ubuntu/odin-wi5/Odin_Wi5_firmware_build/openwrt/build_dir/host/automake-1.15/.built] Error 2 make[3]: Leaving directory '/home/ubuntu/odin-wi5/Odin_Wi5_firmware_build/openwrt/tools/automake' tools/Makefile:122: recipe for target 'tools/automake/compile' failed make[2]: [tools/automake/compile] Error 2 make[2]: Leaving directory '/home/ubuntu/odin-wi5/Odin_Wi5_firmware_build/openwrt' tools/Makefile:121: recipe for target '/home/ubuntu/odin-wi5/Odin_Wi5_firmware_build/openwrt/staging_dir/target-mips_34kc_uClibc-0.9.33.2/stamp/.tools_install_yynyynynynyyyyyyyyyyyyyyyyyyynyyyyynnyyynyyynnnyy' failed make[1]: [/home/ubuntu/odin-wi5/Odin_Wi5_firmware_build/openwrt/staging_dir/target-mips_34kc_uClibc-0.9.33.2/stamp/.tools_install_yynyynynynyyyyyyyyyyyyyyyyyyynyyyyynnyyynyyynnnyy] Error 2 make[1]: Leaving directory '/home/ubuntu/odin-wi5/Odin_Wi5_firmware_build/openwrt' /home/ubuntu/odin-wi5/Odin_Wi5_firmware_build/openwrt/include/toplevel.mk:181: recipe for target 'world' failed make: *** [world] Error 2
Compiling returns the following:
Should we use specific library versions?
Thx! Andrei