Unescaped left brace in regex is illegal here in regex; marked by <-- HERE in m/\${ <-- HERE ([^ \t=...

/**********************************************************************
 *    Unescaped left brace in regex is illegal here in regex; marked by <-- HERE in m/\${ <-- HERE ([^ \t=:+{}]+)}/ at xxxx/usr/bin/automake line 3939.
 * 说明:
 *     在Ubuntu 18.04上编译Yocto,出现的automake正则表达式问题。原因是Perl
 * 不支持以前的写法。
 *
 *                                2018-6-13 深圳 宝安西乡 曾剑锋
 *********************************************************************/

一、解决方法:
    修改automake源代码
        # substitute_ac_subst_variables ($TEXT)
        # -------------------------------------
        # Replace any occurrence of ${FOO} in $TEXT by @FOO@ if FOO is an AC_SUBST
        # variable.
        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;
        }

二、跟踪信息:
    1. 查找source源:
        zengjf@zengjf:~/zengjf/fsl-release-bsp/sources$ grep -F '1{s/.* //;s/\.[0-9]+$//};q' * -r
        poky/meta/classes/autotools.bbclass:        AUTOV=`automake --version | sed -e '1{s/.* //;s/\.[0-9]+$//};q'`
    2. 查找do_configure生成文件:
        zengjf@zengjf:~/zengjf/fsl-release-bsp/imx6q-x11/tmp$ grep -F '1{s/.* //;s/\.[0-9]+$//};q' * -r
        [...省略]
        work/cortexa9hf-neon-poky-linux-gnueabi/bzip2/1.0.6-r5/temp/run.do_configure.22789:        AUTOV=`automake --version | sed -e '1{s/.* //;s/\.[0-9]+$//};q'`
        work/cortexa9hf-neon-poky-linux-gnueabi/libtool-cross/2.4.6-r0/temp/run.do_configure.13771:        AUTOV=`automake --version | sed -e '1{s/.* //;s/\.[0-9]+$//};q'`
        work/x86_64-linux/gperf-native/3.0.4-r0/temp/run.do_configure.14971:        AUTOV=`automake --version | sed -e '1{s/.* //;s/\.[0-9]+$//};q'`
        work/x86_64-linux/flex-native/2.6.0-r0/temp/run.do_configure.12824:        AUTOV=`automake --version | sed -e '1{s/.* //;s/\.[0-9]+$//};q'`
        work/x86_64-linux/bison-native/3.0.4-r0/temp/run.do_configure.17557:        AUTOV=`automake --version | sed -e '1{s/.* //;s/\.[0-9]+$//};q'`
        work/x86_64-linux/sqlite3-native/3_3.11.0-r0/temp/run.do_configure.9219:        AUTOV=`automake --version | sed -e '1{s/.* //;s/\.[0-9]+$//};q'`
        work/x86_64-linux/mpfr-native/3.1.3-r0/temp/run.do_configure.29877:        AUTOV=`automake --version | sed -e '1{s/.* //;s/\.[0-9]+$//};q'`
        work/x86_64-linux/pkgconfig-native/0.29+gitAUTOINC+5914edfe96-r0/temp/run.do_configure.15954:        AUTOV=`automake --version | sed -e '1{s/.* //;s/\.[0-9]+$//};q'`
        work/x86_64-linux/attr-native/2.4.47-r0/temp/run.do_configure.4567:        AUTOV=`automake --version | sed -e '1{s/.* //;s/\.[0-9]+$//};q'`
        work/x86_64-linux/util-macros-native/1_1.19.0-r0/temp/run.do_configure.21344:        AUTOV=`automake --version | sed -e '1{s/.* //;s/\.[0-9]+$//};q'`
        work/x86_64-linux/gettext-native/0.19.6-r0/temp/run.do_configure.25061:        AUTOV=`automake --version | sed -e '1{s/.* //;s/\.[0-9]+$//};q'`
        work/x86_64-linux/gmp-native/6.1.0-r0/temp/run.do_configure.22886:        AUTOV=`automake --version | sed -e '1{s/.* //;s/\.[0-9]+$//};q'`
        work/x86_64-linux/xz-native/5.2.2-r0/temp/run.do_configure.13878:        AUTOV=`automake --version | sed -e '1{s/.* //;s/\.[0-9]+$//};q'`
        work/x86_64-linux/libmpc-native/1.0.3-r0/temp/run.do_configure.26652:        AUTOV=`automake --version | sed -e '1{s/.* //;s/\.[0-9]+$//};q'`
        work/x86_64-linux/libtool-native/2.4.6-r0/temp/run.do_configure.5196:        AUTOV=`automake --version | sed -e '1{s/.* //;s/\.[0-9]+$//};q'`
        zengjf@zengjf:~/zengjf/fsl-release-bsp/imx6q-x11/tmp$ 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值