zoukankan      html  css  js  c++  java
  • Unescaped left brace in regex is illegal here in regex; marked by <-- HERE in m/${ <-- HERE ([^ =:+{}]+)}/ at xxxx/usr/bin/automake line 3939.

    /**********************************************************************
     *    Unescaped left brace in regex is illegal here in regex; marked by <-- HERE in m/${ <-- HERE ([^ 	=:+{}]+)}/ 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/${([^ 	=:+{}]+)}/substitute_ac_subst_variables_worker ($1)/ge;
              $text =~ s/$[{]([^ 	=:+{}]+)}/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$ 
  • 相关阅读:
    MessageFormat理解,MessageFormat.format(Object obj)方法
    正则表达式
    数字处理类
    包装类
    遍历Map的4种方法(来自网络)
    集合类
    数组
    字符串
    语言基础
    Linux下使用openssl加解密
  • 原文地址:https://www.cnblogs.com/zengjfgit/p/9178523.html
Copyright © 2011-2022 走看看