openwrt编译时遇到以下错误:
Unescaped left brace in regex is illegal here in regex; marked by <– HERE in m/${ <– HERE ([^ \t=:+{}]+)}/ at xxx line xxx
原因
原因是Perl不支持以前的写法。
解决方法
编辑提示的文件 xxx的行号 xxx
例如 /usr/bin/automake 第 3930 行
将 - $text =~ s/\${([^ \t=:+{}]+)}/substitute_ac_subst_variables_worker ($1)/ge;
修改为 - $text =~ s/\$[{]([^ \t=:+{}]+)}/substitute_ac_subst_variables_worker ($1)/ge;
- $text =~ s/\${([^ \t=:+{}]+)}/substitute_ac_subst_variables_worker ($1)/ge;
+ $text =~ s/\$[{]([^ \t=:+{}]+)}/substitute_ac_subst_variables_worker ($1)/ge;