【未解决】crosstool-ng编译出错:gcc-4.2.2/gcc/regrename.c:1646:12: error: ‘IFCVT_ALLOW_MODIFY_TEST_IN_INSN’ undeclared (first use in this function)

【问题】

折腾:

【记录】编译配置好的xscale版本的crosstool-ng-1.18.0

期间,编译出错:

CLi@PC-CLI-1 ~/develop/crosstool-ng/crosstool-ng-1.18.0_build
$ ct-ng build
[INFO ]  Performing some trivial sanity checks
[INFO ]  Build started 20130724.163313
[INFO ]  Building environment variables
[EXTRA]  Preparing working directories
[EXTRA]  Installing user-supplied crosstool-NG configuration
[EXTRA]  =================================================================
[EXTRA]  Dumping internal crosstool-NG configuration
[EXTRA]    Building a toolchain for:
[EXTRA]      build  = i686-pc-cygwin
[EXTRA]      host   = i686-pc-cygwin
[EXTRA]      target = arm-xscale-linux-gnueabi
[EXTRA]  Dumping internal crosstool-NG configuration: done in 1.00s (at 00:48)
[INFO ]  =================================================================
[INFO ]  Retrieving needed toolchain components' tarballs
[EXTRA]    Using 'linux-custom' from custom location
[EXTRA]    Retrieving 'ltrace_0.5.3.orig'
[EXTRA]    Saving 'ltrace_0.5.3.orig.tar.gz' to local storage
[INFO ]  Retrieving needed toolchain components' tarballs: done in 46.21s (at 01:35)
[INFO ]  =================================================================
[INFO ]  Extracting and patching toolchain components
[EXTRA]    Extracting 'linux-custom'
[EXTRA]    Extracting 'libelf-0.8.13'
[EXTRA]    Patching 'libelf-0.8.13'
[EXTRA]    Extracting 'binutils-2.22'
[EXTRA]    Patching 'binutils-2.22'
[EXTRA]    Extracting 'gcc-4.2.2'
[EXTRA]    Patching 'gcc-4.2.2'
[EXTRA]    Extracting 'glibc-2.9'
[EXTRA]    Patching 'glibc-2.9'
[EXTRA]    Extracting 'glibc-ports-2.9'
[EXTRA]    Patching 'glibc-ports-2.9'
[EXTRA]    Extracting 'dmalloc-5.5.2'
[EXTRA]    Patching 'dmalloc-5.5.2'
[EXTRA]    Extracting 'gdb-6.8a'
[EXTRA]    Patching 'gdb-6.8a'
[EXTRA]    Extracting 'ncurses-5.9'
[EXTRA]    Patching 'ncurses-5.9'
[EXTRA]    Extracting 'expat-2.1.0'
[EXTRA]    Patching 'expat-2.1.0'
[EXTRA]    Extracting 'ltrace-0.5.3'
[EXTRA]    Patching 'ltrace-0.5.3'
[EXTRA]    Extracting 'strace-4.5.19'
[EXTRA]    Patching 'strace-4.5.19'
[INFO ]  Extracting and patching toolchain components: done in 267.66s (at 06:03)
[EXTRA]  Saving state to restart at step 'libc_check_config'...
[EXTRA]  Saving state to restart at step 'companion_libs_for_build'...
[EXTRA]  Saving state to restart at step 'binutils_for_build'...
[EXTRA]  Saving state to restart at step 'companion_libs_for_host'...
[EXTRA]  Saving state to restart at step 'binutils_for_host'...
[INFO ]  =================================================================
[INFO ]  Installing binutils for host
[EXTRA]    Configuring binutils
[EXTRA]    Building binutils
[EXTRA]    Installing binutils
[INFO ]  Installing binutils for host: done in 793.78s (at 19:24)
[EXTRA]  Saving state to restart at step 'cc_core_pass_1'...
[INFO ]  =================================================================
[INFO ]  Installing pass-1 core C compiler
[EXTRA]    Configuring gcc
[EXTRA]    Building gcc
[ERROR]    /home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/src/gcc-4.2.2/gcc/regrename.c:1646:12: error: 'IFCVT_ALLOW_MODIFY_TEST_IN_INSN' undeclared (first use in this function)
[ERROR]    make[2]: *** [regrename.o] Error 1
[ERROR]    make[1]: *** [all-gcc] Error 2
[ERROR]
[ERROR]  >>
[ERROR]  >>  Build failed in step 'Installing pass-1 core C compiler'
[ERROR]  >>        called in step '(top-level)'
[ERROR]  >>
[ERROR]  >>  Error happened in: CT_DoExecLog[scripts/functions@257]
[ERROR]  >>        called from: do_cc_core_backend[scripts/build/cc/gcc.sh@448]
[ERROR]  >>        called from: do_cc_core_pass_1[scripts/build/cc/gcc.sh@101]
[ERROR]  >>        called from: main[scripts/crosstool-NG.sh@632]


Current command:
  'make' '-j4' '-l' 'all-gcc'
exited with error code: 2
Please fix it up and finish by exiting the shell with one of these values:
    1  fixed, continue with next build command
    2  repeat this build command
    3  abort build

ct-ng:~/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/arm-xscale-linux-gnueabi/build/build-cc-core-pass-1>

【解决过程】

1.参考:

crosstool-ng制做hg526的工具链失败

去看看:

D:\tmp\tmp_dev_root\cgwin\home\CLi\develop\crosstool-ng\crosstool-ng-1.18.0_build\.build\src\gcc-4.2.2\gcc\regrename.c

把1646-1688行都注释掉,变成:

(注释是从1638行开始的)

      /* Added for targets (AVR32) which supports test operands to be modified
         in cond_exec instruction. For these targets we cannot make a change to
         the test operands if one of the test operands is an output operand This beacuse
         changing the test operands might cause the need for inserting a new test
         insns in the middle of a sequence of cond_exec insns and if the test operands
         are modified these tests will fail.
      */
      
      // if ( IFCVT_ALLOW_MODIFY_TEST_IN_INSN
           // && predicated )
        // { 
          // int insn_skipped = 0;
          // rtx test = COND_EXEC_TEST (PATTERN (insn));

          // /* Check if the previous insn was a skipped predicated insn with the same
             // test as this predicated insns. If so we cannot do any modification to
             // this insn either since we cannot emit the test insn because the operands
             // are clobbered. */
          // if ( prev_pred_insn_skipped 
               // && (rtx_equal_p (test, prev_pred_test) 
                   // || rtx_equal_p (test, reversed_condition (prev_pred_test))) )
            // { 
              // insn_skipped = 1;
            // }
          // else
            // {
              // /* Check if the output operand is used in the test expression. */
              // for (i = 0; i < n_ops; ++i)
                // if ( recog_data.operand_type[i] == OP_INOUT 
                     // && reg_mentioned_p (recog_data.operand[i], test) )
                  // {
                    // insn_skipped = 1;
                    // break;
                  // }
              
            // }
          
          // prev_pred_test = test;
          // prev_pred_insn_skipped = insn_skipped;
          // if ( insn_skipped )
            // {
              // if (insn == BB_END (bb))
                // break;
              // else
                // continue;
            // }
        // } 
      // else 
        // {
          // prev_pred_insn_skipped = 0;
        // }

2.再去编译看看:

Current command:
  'make' '-j4' '-l' 'all-gcc'
exited with error code: 2
Please fix it up and finish by exiting the shell with one of these values:
    1  fixed, continue with next build command
    2  repeat this build command
    3  abort build

ct-ng:~/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/arm-xscale-linux-gnueabi/build/build-cc-core-pass-1> 1
bash: 1: command not found
ct-ng:~/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/arm-xscale-linux-gnueabi/build/build-cc-core-pass-1> exit 1
exit

Continuing past the failed command.

[EXTRA]    Installing gcc
[46:01] \

貌似可以了?

结果貌似搞错了,应该是选择:

2 repeat this build command

才对。

所以,终止运行,重新开始ct-ng build

CLi@PC-CLI-1 ~/develop/crosstool-ng/crosstool-ng-1.18.0_build
$ ct-ng build
[INFO ]  Performing some trivial sanity checks
[INFO ]  Build started 20130724.172018
[INFO ]  Building environment variables
[EXTRA]  Preparing working directories
[EXTRA]  Installing user-supplied crosstool-NG configuration
[EXTRA]  =================================================================
[EXTRA]  Dumping internal crosstool-NG configuration
[EXTRA]    Building a toolchain for:
[EXTRA]      build  = i686-pc-cygwin
[EXTRA]      host   = i686-pc-cygwin
[EXTRA]      target = arm-xscale-linux-gnueabi
[EXTRA]  Dumping internal crosstool-NG configuration: done in 0.96s (at 00:58)
[INFO ]  =================================================================
[INFO ]  Retrieving needed toolchain components' tarballs
[EXTRA]    Using 'linux-custom' from custom location
[INFO ]  Retrieving needed toolchain components' tarballs: done in 3.20s (at 01:02)
[INFO ]  =================================================================
[INFO ]  Extracting and patching toolchain components
[INFO ]  Extracting and patching toolchain components: done in 9.40s (at 01:12)
[EXTRA]  Saving state to restart at step 'libc_check_config'...
[EXTRA]  Saving state to restart at step 'companion_libs_for_build'...
[EXTRA]  Saving state to restart at step 'binutils_for_build'...
[EXTRA]  Saving state to restart at step 'companion_libs_for_host'...
[EXTRA]  Saving state to restart at step 'binutils_for_host'...
[INFO ]  =================================================================
[INFO ]  Installing binutils for host
[EXTRA]    Configuring binutils
[01:40] \

3.结果竟然最后挂在了,之前可以正常编译的binutils:

CLi@PC-CLI-1 ~/develop/crosstool-ng/crosstool-ng-1.18.0_build
$ ct-ng build
[INFO ]  Performing some trivial sanity checks
[INFO ]  Build started 20130724.172018
[INFO ]  Building environment variables
[EXTRA]  Preparing working directories
[EXTRA]  Installing user-supplied crosstool-NG configuration
[EXTRA]  =================================================================
[EXTRA]  Dumping internal crosstool-NG configuration
[EXTRA]    Building a toolchain for:
[EXTRA]      build  = i686-pc-cygwin
[EXTRA]      host   = i686-pc-cygwin
[EXTRA]      target = arm-xscale-linux-gnueabi
[EXTRA]  Dumping internal crosstool-NG configuration: done in 0.96s (at 00:58)
[INFO ]  =================================================================
[INFO ]  Retrieving needed toolchain components' tarballs
[EXTRA]    Using 'linux-custom' from custom location
[INFO ]  Retrieving needed toolchain components' tarballs: done in 3.20s (at 01:02)
[INFO ]  =================================================================
[INFO ]  Extracting and patching toolchain components
[INFO ]  Extracting and patching toolchain components: done in 9.40s (at 01:12)
[EXTRA]  Saving state to restart at step 'libc_check_config'...
[EXTRA]  Saving state to restart at step 'companion_libs_for_build'...
[EXTRA]  Saving state to restart at step 'binutils_for_build'...
[EXTRA]  Saving state to restart at step 'companion_libs_for_host'...
[EXTRA]  Saving state to restart at step 'binutils_for_host'...
[INFO ]  =================================================================
[INFO ]  Installing binutils for host
[EXTRA]    Configuring binutils
[EXTRA]    Building binutils
[ERROR]    make[2]: *** [configure-binutils] Error 1
[ERROR]    make[2]: *** [configure-gas] Error 1
[ERROR]    make[2]: *** [configure-gprof] Error 1
[ERROR]    make[2]: *** [configure-libiberty] Error 1
[ERROR]    make[1]: *** [all] Error 2
[ERROR]
[ERROR]  >>
[ERROR]  >>  Build failed in step 'Installing binutils for host'
[ERROR]  >>        called in step '(top-level)'
[ERROR]  >>
[ERROR]  >>  Error happened in: CT_DoExecLog[scripts/functions@257]
[ERROR]  >>        called from: do_binutils_backend[scripts/build/binutils/binutils.sh@227]
[ERROR]  >>        called from: do_binutils_for_host[scripts/build/binutils/binutils.sh@92]
[ERROR]  >>        called from: main[scripts/crosstool-NG.sh@632]


Current command:
  'make' '-j4' '-l'
exited with error code: 2
Please fix it up and finish by exiting the shell with one of these values:
    1  fixed, continue with next build command
    2  repeat this build command
    3  abort build

ct-ng:~/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/arm-xscale-linux-gnueabi/build/build-binutils-host-i686-build_pc-cygwin>

去看了下log:

D:\tmp\tmp_dev_root\cgwin\home\CLi\develop\crosstool-ng\crosstool-ng-1.18.0_build\build.log

内容是:

[ALL  ]    checking for waitpid... yes
[ALL  ]    checking for inttypes.h... /home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/src/binutils-2.22/gprof/configure: line 4751: /home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/tools/bin/sed: Cannot allocate memory
[ALL  ]    checking for stdint.h...       0 [main] bash 960960 fork: child -1 - CreateProcessW failed for 'D:tmptmp_dev_rootcgwinbinbash.exe', errno 12
[ALL  ]    /home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/src/binutils-2.22/gprof/configure: fork: Cannot allocate memory
[ALL  ]    checking for strings.h... /home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/src/binutils-2.22/gprof/configure: line 1750: ${+set}: bad substitution
[ALL  ]    /home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/src/binutils-2.22/binutils/configure: line 1549: /home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/tools/bin/grep: Cannot allocate memory
[ALL  ]    /home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/src/binutils-2.22/binutils/configure: line 1550: /usr/bin/cat: Cannot allocate memory
[ALL  ]    /home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/src/binutils-2.22/binutils/configure: line 1561: /home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/tools/bin/sed: Cannot allocate memory
[ALL  ]    /home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/src/binutils-2.22/binutils/configure: line 1804: /usr/bin/rm: Cannot allocate memory
[ALL  ]    no
[ALL  ]    /home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/tools/bin/grep: line 2: /usr/bin/grep: Cannot allocate memory
[ALL  ]    /home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/tools/bin/grep: line 2: /usr/bin/grep: No error
[ALL  ]          0 [main] bash 961468 fork: child -1 - CreateProcessW failed for 'D:tmptmp_dev_rootcgwinbinbash.exe', errno 12
[ALL  ]    /home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/src/binutils-2.22/binutils/configure: fork: Cannot allocate memory
[ALL  ]    checking for unistd.h... /home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/src/binutils-2.22/binutils/configure: line 1791: ${+set}: bad substitution
[ALL  ]    /home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/src/binutils-2.22/gprof/configure: line 1509: /usr/bin/cat: Cannot allocate memory
[ALL  ]    /home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/src/binutils-2.22/gas/configure: line 1549: /home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/tools/bin/sed: Cannot allocate memory
[ALL  ]    /home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/src/binutils-2.22/binutils/configure: line 1794: /usr/bin/cat: Cannot allocate memory
[ALL  ]    no
[ALL  ]    /home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/src/binutils-2.22/binutils/configure: line 1538: /usr/bin/rm: Cannot allocate memory
[ALL  ]          0 [main] bash 960472 fork: child -1 - CreateProcessW failed for 'D:tmptmp_dev_rootcgwinbinbash.exe', errno 27
[ALL  ]    /home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/src/binutils-2.22/gas/configure: fork: File too large
[ALL  ]    checking for stdint.h... /home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/src/binutils-2.22/gas/configure: line 1779: ${+set}: bad substitution
[ALL  ]       1912 [main] bash 944628 fork: child -1 - CreateProcessW failed for 'D:tmptmp_dev_rootcgwinbinbash.exe', errno 12
[ALL  ]    /home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/src/binutils-2.22/gas/configure: fork: Cannot allocate memory
[ALL  ]          0 [main] bash 944324 fork: child -1 - CreateProcessW failed for 'D:tmptmp_dev_rootcgwinbinbash.exe', errno 12
[ALL  ]    /home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/src/binutils-2.22/binutils/configure: fork: Cannot allocate memory
[ALL  ]       1155 [main] bash 944324 fork: child -1 - CreateProcessW failed for 'D:tmptmp_dev_rootcgwinbinbash.exe', errno 12
[ALL  ]    /home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/src/binutils-2.22/binutils/configure: fork: Cannot allocate memory
[ALL  ]    Makefile:3345: recipe for target `configure-binutils' failed
[ERROR]    make[2]: *** [configure-binutils] Error 1
[ALL  ]    make[2]: *** Waiting for unfinished jobs....
[ALL  ]    /home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/src/binutils-2.22/gprof/configure: line 1761: =no: command not found
[ALL  ]    $
[ALL  ]     461400 [main] bash 960624 fork: child -1 - CreateProcessW failed for 'D:tmptmp_dev_rootcgwinbinbash.exe', errno 12
[ALL  ]    /home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/src/binutils-2.22/gas/configure: fork: Cannot allocate memory
[ALL  ]          0 [main] bash 960620 fork: child -1 - CreateProcessW failed for 'D:tmptmp_dev_rootcgwinbinbash.exe', errno 12
[ALL  ]    /home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/src/binutils-2.22/gprof/configure: fork: Cannot allocate memory
[ALL  ]    checking for inttypes.h... /home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/src/binutils-2.22/gprof/configure: line 1750: ${+set}: bad substitution
[ALL  ]     555661 [main] bash 960784 fork: child -1 - CreateProcessW failed for 'D:tmptmp_dev_rootcgwinbinbash.exe', errno 12
[ALL  ]    /home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/src/binutils-2.22/gas/configure: fork: Cannot allocate memory
[ALL  ]    /home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/src/binutils-2.22/gas/configure: line 40: /usr/bin/sort: Cannot allocate memory
[ALL  ]    /home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/src/binutils-2.22/gas/configure: line 57: /usr/bin/sort: Cannot allocate memory
[ALL  ]    /home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/src/binutils-2.22/gprof/configure: line 1508: /home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/tools/bin/grep: Cannot allocate memory
[ALL  ]    /home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/src/binutils-2.22/gas/configure: line 85: /usr/bin/cat: Cannot allocate memory
[ALL  ]    /home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/src/binutils-2.22/gas/configure: line 92: /usr/bin/rm: Cannot allocate memory
[ALL  ]    Makefile:4574: recipe for target `configure-gas' failed
[ERROR]    make[2]: *** [configure-gas] Error 1
[ALL  ]    /home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/src/binutils-2.22/gprof/configure: line 1761: =no: command not found
[ALL  ]    $
[ALL  ]    checking for stdint.h... no
[ALL  ]          0 [main] bash 961012 fork: child -1 - CreateProcessW failed for 'D:tmptmp_dev_rootcgwinbinbash.exe', errno 12
[ALL  ]    /home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/src/binutils-2.22/libiberty/configure: fork: Cannot allocate memory
[ALL  ]    checking for setproctitle... /home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/src/binutils-2.22/libiberty/configure: line 1839: ${+set}: bad substitution
[ALL  ]    no
[ALL  ]          0 [main] bash 961068 fork: child -1 - CreateProcessW failed for 'D:tmptmp_dev_rootcgwinbinbash.exe', errno 12
[ALL  ]    /home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/src/binutils-2.22/gprof/configure: fork: Cannot allocate memory
[ALL  ]    checking for unistd.h... /home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/src/binutils-2.22/gprof/configure: line 1750: ${+set}: bad substitution
[ALL  ]    /home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/src/binutils-2.22/gprof/configure: line 1753: /usr/bin/cat: Cannot allocate memory
[ALL  ]    /home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/src/binutils-2.22/libiberty/configure: line 1791: /usr/bin/rm: Cannot allocate memory
[ALL  ]    /home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/src/binutils-2.22/gprof/configure: line 1497: /usr/bin/rm: Cannot allocate memory
[ALL  ]    /home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/src/binutils-2.22/libiberty/configure: line 1802: /home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/tools/bin/grep: Cannot allocate memory
[ALL  ]    /home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/src/binutils-2.22/libiberty/configure: line 1803: /usr/bin/cat: File too large
[ALL  ]    /home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/tools/bin/grep: line 2: /usr/bin/grep: Cannot allocate memory
[ALL  ]    /home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/tools/bin/grep: line 2: /usr/bin/grep: No error
[ALL  ]    /home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/src/binutils-2.22/libiberty/configure: line 1804: /usr/bin/mv: Cannot allocate memory
[ALL  ]    /home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/src/binutils-2.22/gprof/configure: line 1509: /usr/bin/cat: Cannot allocate memory
[ALL  ]          0 [main] bash 945916 fork: child -1 - CreateProcessW failed for 'D:tmptmp_dev_rootcgwinbinbash.exe', errno 12
[ALL  ]    /home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/src/binutils-2.22/gprof/configure: fork: Cannot allocate memory
[ALL  ]    /home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/src/binutils-2.22/libiberty/configure: line 1817: /home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/tools/bin/sed: Cannot allocate memory
[ALL  ]    /home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/src/binutils-2.22/libiberty/configure: line 1825: /usr/bin/rm: Cannot allocate memory
[ALL  ]    /home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/src/binutils-2.22/gprof/configure: line 6: /usr/bin/cat: Cannot allocate memory
[ALL  ]      49027 [main] bash 945916 fork: child -1 - CreateProcessW failed for 'D:tmptmp_dev_rootcgwinbinbash.exe', errno 12
[ALL  ]    /home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/src/binutils-2.22/gprof/configure: fork: Cannot allocate memory
[ALL  ]    Makefile:5999: recipe for target `configure-gprof' failed
[ERROR]    make[2]: *** [configure-gprof] Error 1
[ALL  ]    /home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/src/binutils-2.22/libiberty/configure: line 1889: =no: command not found
[ALL  ]    $
[ALL  ]    checking whether alloca needs Cray hooks... no
[ALL  ]    checking stack direction for C alloca... -1
[ALL  ]    checking for vfork.h... /home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/src/binutils-2.22/libiberty/configure: line 1535: /usr/bin/cat: Cannot allocate memory
[ALL  ]    /home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/src/binutils-2.22/libiberty/configure: line 1461: /home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/tools/bin/grep: Cannot allocate memory
[ALL  ]    /home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/src/binutils-2.22/libiberty/configure: line 1462: /usr/bin/cat: Cannot allocate memory
[ALL  ]    /home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/src/binutils-2.22/libiberty/configure: line 1463: /usr/bin/mv: Cannot allocate memory
[ALL  ]    /home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/src/binutils-2.22/libiberty/configure: line 1473: /home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/tools/bin/sed: Cannot allocate memory
[ALL  ]    /home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/src/binutils-2.22/libiberty/configure: line 1544: /usr/bin/rm: Cannot allocate memory
[ALL  ]    no
[ALL  ]          0 [main] bash 944256 fork: child -1 - CreateProcessW failed for 'D:tmptmp_dev_rootcgwinbinbash.exe', errno 12
[ALL  ]    /home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/src/binutils-2.22/libiberty/configure: fork: Cannot allocate memory
[ALL  ]    checking for fork... /home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/src/binutils-2.22/libiberty/configure: line 1839: ${+set}: bad substitution
[ALL  ]    /home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/src/binutils-2.22/libiberty/configure: line 1845: /usr/bin/cat: Cannot allocate memory
[ALL  ]          0 [main] bash 919532 fork: child -1 - CreateProcessW failed for 'D:tmptmp_dev_rootcgwinbinbash.exe', errno 12
[ALL  ]    /home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/src/binutils-2.22/libiberty/configure: fork: Cannot allocate memory
[ALL  ]       1661 [main] bash 919532 fork: child -1 - CreateProcessW failed for 'D:tmptmp_dev_rootcgwinbinbash.exe', errno 12
[ALL  ]    /home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/src/binutils-2.22/libiberty/configure: fork: Cannot allocate memory
[ALL  ]    Makefile:7720: recipe for target `configure-libiberty' failed
[ERROR]    make[2]: *** [configure-libiberty] Error 1
[ALL  ]    make[2]: Leaving directory `/home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/arm-xscale-linux-gnueabi/build/build-binutils-host-i686-build_pc-cygwin'
[ALL  ]    Makefile:843: recipe for target `all' failed
[ERROR]    make[1]: *** [all] Error 2
[ALL  ]    make[1]: Leaving directory `/home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/arm-xscale-linux-gnueabi/build/build-binutils-host-i686-build_pc-cygwin'
[ERROR]  
[ERROR]  >>
[ERROR]  >>  Build failed in step 'Installing binutils for host'
[ERROR]  >>        called in step '(top-level)'
[ERROR]  >>
[ERROR]  >>  Error happened in: CT_DoExecLog[scripts/functions@257]
[ERROR]  >>        called from: do_binutils_backend[scripts/build/binutils/binutils.sh@227]
[ERROR]  >>        called from: do_binutils_for_host[scripts/build/binutils/binutils.sh@92]
[ERROR]  >>        called from: main[scripts/crosstool-NG.sh@632]

很明显,又是之前:

【未解决】crosstool-ng编译出错:Installing C library headers中的make[3]: xxx/sys-root/usr/include/sys/uio.h] Error 1

中也遇到的:

Cannot allocate memory

并且,当时,电脑也是反映极其的慢,卡死了一下,并且firefox也挂了。

4.再试了一次,结果还不行,干脆中断编译算了:

exited with error code: 2
Please fix it up and finish by exiting the shell with one of these values:
    1  fixed, continue with next build command
    2  repeat this build command
    3  abort build

ct-ng:~/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/arm-xscale-linux-gnueabi/build/build-binutils-host-i686-build_pc-cygwin> 2
bash: 2: command not found
ct-ng:~/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/arm-xscale-linux-gnueabi/build/build-binutils-host-i686-build_pc-cygwin> exit 2
exit

Re-trying last command.

[ERROR]  make[2]: *** [configure-gas] Error 1
[ERROR]  make[2]: *** [configure-binutils] Error 1
[ERROR]  make[2]: *** [configure-libiberty] Error 1
[ERROR]  make[2]: *** [configure-gprof] Error 1
[ERROR]  make[1]: *** [all] Error 2
[ERROR]
[ERROR]  >>
[ERROR]  >>  Build failed in step '(top-level)'
[ERROR]  >>
[ERROR]  >>  Error happened in: CT_DoExecLog[scripts/functions@257]
[ERROR]  >>        called from: do_binutils_backend[scripts/build/binutils/binutils.sh@227]
[ERROR]  >>        called from: do_binutils_for_host[scripts/build/binutils/binutils.sh@92]
[ERROR]  >>        called from: main[scripts/crosstool-NG.sh@632]


Current command:
  'make' '-j4' '-l'
exited with error code: 2
Please fix it up and finish by exiting the shell with one of these values:
    1  fixed, continue with next build command
    2  repeat this build command
    3  abort build

ct-ng:~/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/arm-xscale-linux-gnueabi/build/build-binutils-host-i686-build_pc-cygwin> exit 3
exit
[ERROR]  >>
[ERROR]  >>  For more info on this error, look at the file: 'build.log'
[ERROR]  >>  There is a list of known issues, some with workarounds, in:
[ERROR]  >>      '/opt/crosstool-ng/share/doc/crosstool-ng/ct-ng.1.18.0/B - Known issues.txt'
[ERROR]
[ERROR]  (elapsed: 12:40.20)
[12:48] / /opt/crosstool-ng/bin/ct-ng:148: recipe for target `build' failed
make: *** [build] Error 2

CLi@PC-CLI-1 ~/develop/crosstool-ng/crosstool-ng-1.18.0_build
$

5.然后重新编译,结果彻底出错:

CLi@PC-CLI-1 ~/develop/crosstool-ng/crosstool-ng-1.18.0_build
$ ct-ng build
[INFO ]  Performing some trivial sanity checks
[00:01] /       0 [main] bash 964728 fork: child -1 - CreateProcessW failed for 'D:\tmp\tmp_dev_root\cgwin\bin\bash.exe', errno 12
/opt/crosstool-ng/lib/ct-ng.1.18.0/scripts/functions: fork: Cannot allocate memory
/opt/crosstool-ng/lib/ct-ng.1.18.0/scripts/functions: line 17: /usr/bin/touch: Cannot allocate memory
      0 [main] bash 964700 fork: child -1 - CreateProcessW failed for 'D:\tmp\tmp_dev_root\cgwin\bin\bash.exe', errno 12
/opt/crosstool-ng/lib/ct-ng.1.18.0/scripts/functions: fork: Cannot allocate memory
[ERROR]
[ERROR]  >>
[ERROR]  >>  Build failed in step '(top-level)'
[00:02] /       0 [main] bash 964624 fork: child -1 - CreateProcessW failed for 'D:\tmp\tmp_dev_root\cgwin\bin\bash.exe', errno 12
/opt/crosstool-ng/lib/ct-ng.1.18.0/scripts/functions: fork: Cannot allocate memory
[ERROR]  >>
[ERROR]  >>  For more info on this error, look at the file: 'build.log'
[ERROR]  >>  There is a list of known issues, some with workarounds, in:
[ERROR]  >>      '/opt/crosstool-ng/share/doc/crosstool-ng/ct-ng.1.18.0/B - Known issues.txt'
[00:02] /       0 [main] bash 961852 fork: child -1 - CreateProcessW failed for 'D:\tmp\tmp_dev_root\cgwin\bin\bash.exe', errno 12
/opt/crosstool-ng/lib/ct-ng.1.18.0/scripts/functions: fork: Cannot allocate memory
/opt/crosstool-ng/bin/ct-ng:148: recipe for target `build' failed
make: *** [build] Error 254

CLi@PC-CLI-1 ~/develop/crosstool-ng/crosstool-ng-1.18.0_build
$ ct-ng build
[INFO ]  Performing some trivial sanity checks
[00:02] / /opt/crosstool-ng/lib/ct-ng.1.18.0/scripts/functions: line 179: /usr/bin/cat: Cannot allocate memory
/opt/crosstool-ng/lib/ct-ng.1.18.0/scripts/functions: line 17: /usr/bin/touch: Cannot allocate memory
      4 [main] bash 390152 fork: child -1 - CreateProcessW failed for 'D:\tmp\tmp_dev_root\cgwin\bin\bash.exe', errno 12
/opt/crosstool-ng/lib/ct-ng.1.18.0/scripts/functions: fork: Cannot allocate memory
[ERROR]
[ERROR]  >>
[ERROR]  >>  Build failed in step '(top-level)'
[00:02] /       0 [main] bash 390456 fork: child -1 - CreateProcessW failed for 'D:\tmp\tmp_dev_root\cgwin\bin\bash.exe', errno 12
/opt/crosstool-ng/lib/ct-ng.1.18.0/scripts/functions: fork: Cannot allocate memory
[ERROR]  >>
[ERROR]  >>  For more info on this error, look at the file: 'build.log'
[ERROR]  >>  There is a list of known issues, some with workarounds, in:
[ERROR]  >>      '/opt/crosstool-ng/share/doc/crosstool-ng/ct-ng.1.18.0/B - Known issues.txt'
[ERROR]
[00:02] / /opt/crosstool-ng/lib/ct-ng.1.18.0/scripts/functions: line 384: /usr/bin/date: Cannot allocate memory
      0 [main] bash 402308 fork: child -1 - CreateProcessW failed for 'D:\tmp\tmp_dev_root\cgwin\bin\bash.exe', errno 12
/opt/crosstool-ng/lib/ct-ng.1.18.0/scripts/functions: fork: Cannot allocate memory
[ERROR]  (elapsed: 0:00.00)
[00:03] / /opt/crosstool-ng/bin/ct-ng:148: recipe for target `build' failed
make: *** [build] Error 254

没法重新编译了。

6.去强制关闭了alipay的几个线程后,也还是问题依旧。

7.看来只有重新启动电脑了?

关闭cygwin,重新启动cygwin试试,结果也是类似问题:

CLi@PC-CLI-1 ~/develop/crosstool-ng/crosstool-ng-1.18.0_build
$ ct-ng build
[INFO ]  Performing some trivial sanity checks
[INFO ]  Build started 20130724.173642
[INFO ]  Building environment variables
[00:09] /       0 [main] bash 896760 fork: child -1 - CreateProcessW failed for 'D:\tmp\tmp_dev_root\cgwin\bin\bash.exe', errno 12
/opt/crosstool-ng/lib/ct-ng.1.18.0/scripts/build/test_suite.sh: fork: Cannot allocate memory
[ERROR]
[ERROR]  >>
[ERROR]  >>  Build failed in step '(top-level)'
[00:09] /       0 [main] bash 351368 fork: child -1 - CreateProcessW failed for 'D:\tmp\tmp_dev_root\cgwin\bin\bash.exe', errno 12
/opt/crosstool-ng/lib/ct-ng.1.18.0/scripts/functions: fork: Cannot allocate memory
/opt/crosstool-ng/bin/ct-ng:148: recipe for target `build' failed
make: *** [build] Error 254

8.然后后来通过任务管理器发现,本身8G的内存,现在用了7.2G了,加上系统的内存,导致现在所有普通的应用程序,都不正常:

无法打开firefox

用picpick截图也无法截图,截图出来的都是黑色的背景,无内容。

所以,逼得只有重启win7了。。。

 

【总结】



发表评论

电子邮件地址不会被公开。 必填项已用*标注

无觅相关文章插件,快速提升流量