【背景】
折腾:
【记录】重试使用最新版本1.18.0的crosstool-ng去配置和编译xscale的交叉编译器
期间,配置好了:
【记录】crosstool-ng-1.18.0中配置xscale
然后此处接着编译。
【折腾过程】
1.开始编译:
ct-ng build |
2.看到在下载gcc 4.2.2
所以决定中断:
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.162024 [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.97s (at 00:43) [INFO ] ================================================================= [INFO ] Retrieving needed toolchain components' tarballs [EXTRA] Using 'linux-custom' from custom location [EXTRA] Retrieving 'libelf-0.8.13' [EXTRA] Saving 'libelf-0.8.13.tar.gz' to local storage [EXTRA] Retrieving 'gcc-4.2.2' [03:30] / /opt/crosstool-ng/bin/ct-ng:148: recipe for target `build' failed make: *** [build] Interrupt
然后手动下载一下:
43MB的:gcc-4.2.2.tar.bz2
放到:
D:\tmp\tmp_dev_root\cgwin\home\CLi\develop\crosstool-ng\src
3.重新编译:
又看到在下载:
[EXTRA] Retrieving 'gdb-6.8a' [01:14] /
再次中断,手动下载:
15.2MB的gdb-6.8a.tar.bz2
4.再放到src,再重新编译:
又见下载:
[EXTRA] Retrieving 'ncurses-5.9'
重复同样步骤,中断且手动下载:
2.7MB的ncurses-5.9.tar.gz
同理,针对:
expat-2.1.0
去:
http://sourceforge.net/projects/expat/files/expat/2.1.0/
下载,550KB的expat-2.1.0.tar.gz
5.终于可以一直往下进行了:
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 [22:37] \
6.结果出错:
然后没解决。
7.接着又遇到错误:
也没解决。
8.然后猜测可能是gcc版本的问题,所以:
从当前选择的4.2.2,换成之前:
【记录】crosstool-ng-1.18.0中配置xscale
中的默认的4.4.6:
┌─────────────────────────── C compiler [ ] Use system zlib |
然后再去:
(1)先去:
下载对应的
拷贝到
D:\tmp\tmp_dev_root\cgwin\home\CLi\develop\crosstool-ng\src
中。
(2)再去重新编译
9.结果看到其在下载gmp:
[EXTRA] Retrieving ‘gmp-5.0.2’ |
所以中断掉,手动下载:
然后重新再去编译。
10.结果又出现其他的下载,所以干脆中断掉:
[EXTRA] Using 'linux-custom' from custom location [EXTRA] Retrieving 'mpfr-3.1.0' [EXTRA] Saving 'mpfr-3.1.0.tar.xz' to local storage [EXTRA] Retrieving 'ppl-0.11.2' [01:51] / /opt/crosstool-ng/bin/ct-ng:148: recipe for target `build' failed make: *** [build] Interrupt
然后觉得好像不对,因为之前都没有ppl之类的。
11.所以再去看看配置,果然:
Companion libraries中有了,之前没有的很多库,比如gmp,mpfr,ppl等等。
所以,把这几个库,暂时先去掉,结果却发现,这几个库,都是必选的,没法去掉。所以,暂且就这样吧。
12.继续编译。
但是先去下载:
再去编译。
13.顺带说一下,从:
http://gcc.cybermirror.org/infrastructure/
中包括了很多库,cloog-ppl,gmp,mpfr等等,
和:
http://ftp.cs.pu.edu.tw/Linux/sourceware/gcc/infrastructure/
也包含了上述的库,可见:
gcc中,相关的,必要的一些库,比如:
cloog-ppl,gmp,mpfr
看来叫做:gcc的infrastructure
14.结果后来由于内存占用太多导致系统太卡,而中断停止编译了:
【未解决】用cygwin编译crosstool-ng,好像有内存泄露(memory leak)
15.后来有出错:
【未解决】cygwin下编译xscale的crosstool-ng时,gcc出错:[cc1-dummy.exe] Error 1
然后打算换个别的版本的cloog:
但是发现,0.15.11,已经是最新版本:
所以,看来需要去换gcc为更高版本了:
gcc version (4.6.0) —> |
再继续去确认一下相关的库
不过发现,可以不选择那几个:
[ ] Enable GRAPHITE loop optimisations |
以使得,可以不用相关的cloog等库:
去编译,发现要下载gcc:
[INFO ] Retrieving needed toolchain components' tarballs [EXTRA] Using 'linux-custom' from custom location [EXTRA] Retrieving 'mpc-0.9' [EXTRA] Saving 'mpc-0.9.tar.gz' to local storage [EXTRA] Retrieving 'gcc-4.6.0'
再手动下载
然后再编译。
16.后来又出现问题:
17.后来,针对我们想要的arm-xscale-linux-gnueabi,找到一个,别人配置好的crosstool-ng:
for DLS’s arm-xscale-linux-gnueabi based on crosstool-NG version 1.4.2
对应的下载地址是:
有空,可以直接拿过来,去编译一把试试。
18.如果当前,此处编译有问题的话,可以考虑参考:
Cross-compilation: linking fail
中的:
arm-xscale-linux-gnueabi-gcc (crosstool-NG 1.12.0) 4.3.6 |
去用4.3.6的gcc,再去试试,估计成功率会高些。
19.后来出现了错误:
20.然后继续编译:
CLi@PC-CLI-1 ~/develop/crosstool-ng/crosstool-ng-1.18.0_build $ ct-ng list-steps Available build steps, in order: - libc_check_config - companion_libs_for_build - binutils_for_build - companion_libs_for_host - binutils_for_host - cc_core_pass_1 - kernel_headers - libc_start_files - cc_core_pass_2 - libc - cc_for_build - cc_for_host - libelf_for_target - binutils_for_target - debug - test_suite - finish Use "<step>" as action to execute only that step. Use "+<step>" as action to execute up to that step. Use "<step>+" as action to execute from that step onward. CLi@PC-CLI-1 ~/develop/crosstool-ng/crosstool-ng-1.18.0_build $ ct-ng cc_for_build+ [INFO ] Performing some trivial sanity checks [INFO ] Build started 20130801.120146 [INFO ] Building environment variables [EXTRA] Preparing working directories [ERROR] The previous build did not reach the point where it could be restarted at 'cc_for_build' [ERROR] [ERROR] >> [ERROR] >> Build failed in step '(top-level)' [ERROR] >> [ERROR] >> Error happened in: CT_Abort[scripts/functions@331] [ERROR] >> called from: CT_TestOrAbort[scripts/functions@361] [ERROR] >> called from: CT_DoLoadState[scripts/functions@1308] [ERROR] >> called from: main[scripts/crosstool-NG.sh@620] Current command (unknown), exited with error code: 1 Please fix it up and finish by exiting the shell with one of these values: 1 fixed, continue with next build command 3 abort build ct-ng:~/develop/crosstool-ng/crosstool-ng-1.18.0_build> 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: 0:46.34) [00:52] / /opt/crosstool-ng/bin/ct-ng:148: recipe for target `build' failed make[1]: *** [build] Error 1 /opt/crosstool-ng/lib/ct-ng.1.18.0/steps.mk:66: recipe for target `cc_for_build+' failed make: *** [cc_for_build+] Error 2 CLi@PC-CLI-1 ~/develop/crosstool-ng/crosstool-ng-1.18.0_build $ ct-ng libc+ [INFO ] Performing some trivial sanity checks [INFO ] Build started 20130801.120248 [INFO ] Building environment variables [EXTRA] Preparing working directories [EXTRA] Restoring state at step 'libc', as requested. [INFO ] ================================================================= [INFO ] Installing C library [EXTRA] Configuring C library [EXTRA] Building C library [01:55] /
21.然后后来出错了:
CLi@PC-CLI-1 ~/develop/crosstool-ng/crosstool-ng-1.18.0_build $ ct-ng libc+ [INFO ] Performing some trivial sanity checks [INFO ] Build started 20130801.120248 [INFO ] Building environment variables [EXTRA] Preparing working directories [EXTRA] Restoring state at step 'libc', as requested. [INFO ] ================================================================= [INFO ] Installing C library [EXTRA] Configuring C library [EXTRA] Building C library [EXTRA] Installing C library [INFO ] Installing C library: done in 2363.83s (at 39:54) [EXTRA] Saving state to restart at step 'cc_for_build'... [EXTRA] Saving state to restart at step 'cc_for_host'... [INFO ] ================================================================= [INFO ] Installing final compiler [EXTRA] Configuring gcc [EXTRA] Building gcc [EXTRA] Installing gcc [INFO ] Installing final compiler: done in 2009.01s (at 73:38) [EXTRA] Saving state to restart at step 'libelf_for_target'... [INFO ] ================================================================= [INFO ] Installing libelf for the target [EXTRA] Configuring libelf [EXTRA] Building libelf [EXTRA] Installing libelf [INFO ] Installing libelf for the target: done in 66.24s (at 75:12) [EXTRA] Saving state to restart at step 'binutils_for_target'... [INFO ] ================================================================= [INFO ] Installing binutils for target [EXTRA] Configuring binutils for target [EXTRA] Building binutils' libraries (libiberty bfd) for target [EXTRA] Installing binutils' libraries (libiberty bfd) for target [INFO ] Installing binutils for target: done in 499.47s (at 83:46) [EXTRA] Saving state to restart at step 'debug'... [INFO ] ================================================================= [INFO ] Installing dmalloc [EXTRA] Configuring dmalloc [EXTRA] Building dmalloc [EXTRA] Installing dmalloc [INFO ] Installing dmalloc: done in 181.28s (at 87:14) [INFO ] ================================================================= [INFO ] Installing cross-gdb [EXTRA] Configuring cross-gdb [EXTRA] Building cross-gdb [ERROR] make[2]: *** [configure-libiberty] Error 1 [ERROR] make[2]: *** [configure-readline] Error 1 [ERROR] make[1]: *** [all] Error 2 [92:33] / 1 [main] bash 913080 fork: child -1 - forked process died unexpectedly, retry 0, exit code -1073741819, errno 11 /opt/crosstool-ng/lib/ct-ng.1.18.0/scripts/functions: fork: retry: Resource temporarily unavailable /opt/crosstool-ng/lib/ct-ng.1.18.0/scripts/functions: fork: Resource temporarily unavailable [ERROR] >> [ERROR] >> For more info on this error, look at the file: 'build.log' [92:35] / 3 [main] bash 12344 fork: child -1 - forked process died unexpectedly, retry 0, exit code -1073741819, errno 11 /opt/crosstool-ng/lib/ct-ng.1.18.0/scripts/functions: fork: retry: Resource temporarily unavailable /opt/crosstool-ng/lib/ct-ng.1.18.0/scripts/functions: fork: Resource temporarily unavailable /opt/crosstool-ng/bin/ct-ng:148: recipe for target `build' failed make[1]: *** [build] Error 254 /opt/crosstool-ng/lib/ct-ng.1.18.0/steps.mk:66: recipe for target `libc+' failed make: *** [libc+] Error 2 CLi@PC-CLI-1 ~/develop/crosstool-ng/crosstool-ng-1.18.0_build $
结果发现又是内存不够了:
[ALL ] checking for bcmp... checking for isxdigit... yes [ALL ] rm -f libdecnumber.a [ALL ] i686-build_pc-cygwin-ar cru libdecnumber.a decNumber.o decContext.o decimal32.o decimal64.o decimal128.o [ALL ] checking for getuid... i686-build_pc-cygwin-ranlib libdecnumber.a [ALL ] make[3]: Leaving directory `/home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/arm-xscale-linux-gnueabi/build/build-gdb-cross/libdecnumber' [ALL ] yes [ALL ] yes [ALL ] checking for bcopy... yes [ALL ] checking for getpwent... checking for mempcpy... yes [ALL ] yes [ALL ] checking for bsearch... yes [ALL ] checking for getpwnam... checking for munmap... yes [ALL ] checking for bzero... yes [ALL ] yes [ALL ] checking for getpwuid... checking for putenv... yes [ALL ] yes [ALL ] checking for calloc... checking for working strcoll... yes [ALL ] checking for setenv... yes [ALL ] yes [ALL ] checking fcntl.h usability... checking for clock... yes [ALL ] checking for setlocale... yes [ALL ] checking fcntl.h presence... yes [ALL ] yes [ALL ] checking for fcntl.h... yes [ALL ] checking for ffs... yes [ALL ] checking for unistd.h... (cached) yes [ALL ] checking for stpcpy... checking for stdlib.h... (cached) yes [ALL ] yes [ALL ] checking varargs.h usability... checking for getcwd... yes [ALL ] no [ALL ] checking varargs.h presence... checking for strcasecmp... no [ALL ] checking for varargs.h... yes [ALL ] no [ALL ] checking stdarg.h usability... yes [ALL ] checking for getpagesize... checking for strdup... yes [ALL ] checking stdarg.h presence... yes [ALL ] no [ALL ] configure: WARNING: stdarg.h: accepted by the compiler, rejected by the preprocessor! [ALL ] configure: WARNING: stdarg.h: proceeding with the compiler's result [ALL ] checking for stdarg.h... yes [ALL ] yes [ALL ] checking for gettimeofday... checking for string.h... (cached) yes [ALL ] checking for strtoul... checking for strings.h... (cached) yes [ALL ] checking limits.h usability... yes [ALL ] checking for index... yes [ALL ] yes [ALL ] checking limits.h presence... checking for tsearch... yes [ALL ] checking for limits.h... yes [ALL ] yes [ALL ] checking locale.h usability... checking for insque... yes [ALL ] checking for __argz_count... yes [ALL ] checking locale.h presence... yes [ALL ] yes [ALL ] checking for locale.h... yes [ALL ] checking for memchr... yes [ALL ] checking pwd.h usability... /home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/tools/bin/sed: line 2: /usr/bin/sed: Cannot allocate memory [ALL ] /home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/tools/bin/sed: line 2: /usr/bin/sed: No error [ALL ] checking for __argz_stringify... /home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/src/gdb-6.8a/intl/configure: line 5758: ${+set}: bad substitution [ALL ] /home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/src/gdb-6.8a/readline/configure: line 4864: /usr/bin/cat: Cannot allocate memory [ALL ] yes [ALL ] 1 [main] sh 898640 fork: child -1 - CreateProcessW failed for 'D:tmptmp_dev_rootcgwinbinsh.exe', errno 12 [ALL ] /home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/src/gdb-6.8a/libiberty/configure: fork: Cannot allocate memory [ALL ] 6504 [main] sh 898640 fork: child -1 - CreateProcessW failed for 'D:tmptmp_dev_rootcgwinbinsh.exe', errno 12 [ALL ] /home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/src/gdb-6.8a/libiberty/configure: fork: Cannot allocate memory [ALL ] 7777 [main] sh 898640 fork: child -1 - CreateProcessW failed for 'D:tmptmp_dev_rootcgwinbinsh.exe', errno 12 [ALL ] /home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/src/gdb-6.8a/libiberty/configure: fork: Cannot allocate memory [ALL ] 8436 [main] sh 898640 fork: child -1 - CreateProcessW failed for 'D:tmptmp_dev_rootcgwinbinsh.exe', errno 12 [ALL ] /home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/src/gdb-6.8a/libiberty/configure: fork: Cannot allocate memory [ERROR] make[2]: *** [configure-libiberty] Error 1 [ALL ] make[2]: *** Waiting for unfinished jobs.... [ALL ] 1 [main] sh 969360 child_copy: data read copy failed, 0x467000..0x480694, done 0, windows pid 969360, Win32 error 299 [ALL ] 1 [main] sh 923252 fork: child -1 - forked process died unexpectedly, retry 0, exit code -1073741819, errno 11 [ALL ] /home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/src/gdb-6.8a/readline/configure: fork: retry: Resource temporarily unavailable [ALL ] /home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/src/gdb-6.8a/readline/configure: fork: Resource temporarily unavailable [ALL ] 332083 [main] sh 969304 fork: child -1 - CreateProcessW failed for 'D:tmptmp_dev_rootcgwinbinsh.exe', errno 12 [ALL ] /home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/src/gdb-6.8a/readline/configure: fork: Cannot allocate memory [ALL ] 344413 [main] sh 969464 fork: child -1 - CreateProcessW failed for 'D:tmptmp_dev_rootcgwinbinsh.exe', errno 12 [ALL ] /home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/src/gdb-6.8a/readline/configure: fork: Cannot allocate memory [ALL ] /home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/src/gdb-6.8a/readline/configure: line 29: /usr/bin/cat: Cannot allocate memory [ALL ] 408818 [main] sh 923252 fork: child -1 - CreateProcessW failed for 'D:tmptmp_dev_rootcgwinbinsh.exe', errno 12 [ALL ] /home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/src/gdb-6.8a/readline/configure: fork: Cannot allocate memory [ALL ] 409134 [main] sh 927432 fork: child -1 - CreateProcessW failed for 'D:tmptmp_dev_rootcgwinbinsh.exe', errno 12 [ALL ] /home/CLi/develop/crosstool-ng/crosstool-ng-1.18.0_build/.build/src/gdb-6.8a/readline/configure: fork: Cannot allocate memory [ERROR] make[2]: *** [configure-readline] 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-gdb-cross' [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-gdb-cross' [ERROR] >> [ERROR] >> For more info on this error, look at the file: 'build.log'
只能再重启,然后继续编译。
22.重启了,继续编译:
CLi@PC-CLI-1 ~/develop/crosstool-ng/crosstool-ng-1.18.0_build $ ct-ng debug+ [INFO ] Performing some trivial sanity checks [INFO ] Build started 20130801.143515 [INFO ] Building environment variables [EXTRA] Preparing working directories [EXTRA] Restoring state at step 'debug', as requested. [INFO ] ================================================================= [INFO ] Installing dmalloc [EXTRA] Configuring dmalloc [EXTRA] Building dmalloc [EXTRA] Installing dmalloc [INFO ] Installing dmalloc: done in 162.36s (at 03:47) [INFO ] ================================================================= [INFO ] Installing cross-gdb [EXTRA] Configuring cross-gdb [EXTRA] Building cross-gdb [12:40] -
最后终于编译成功了:
CLi@PC-CLI-1 ~/develop/crosstool-ng/crosstool-ng-1.18.0_build $ ct-ng debug+ [INFO ] Performing some trivial sanity checks [INFO ] Build started 20130801.143515 [INFO ] Building environment variables [EXTRA] Preparing working directories [EXTRA] Restoring state at step 'debug', as requested. [INFO ] ================================================================= [INFO ] Installing dmalloc [EXTRA] Configuring dmalloc [EXTRA] Building dmalloc [EXTRA] Installing dmalloc [INFO ] Installing dmalloc: done in 162.36s (at 03:47) [INFO ] ================================================================= [INFO ] Installing cross-gdb [EXTRA] Configuring cross-gdb [EXTRA] Building cross-gdb [EXTRA] Installing cross-gdb [INFO ] Installing cross-gdb: done in 993.02s (at 20:20) [INFO ] ================================================================= [INFO ] Installing native gdb [EXTRA] Building static target ncurses [EXTRA] Building static target expat [EXTRA] Configuring native gdb [EXTRA] Building native gdb [EXTRA] Installing native gdb [INFO ] Installing native gdb: done in 2159.95s (at 56:20) [INFO ] ================================================================= [INFO ] Installing gdbserver [EXTRA] Configuring gdbserver [EXTRA] Building gdbserver [EXTRA] Installing gdbserver [INFO ] Installing gdbserver: done in 125.47s (at 58:26) [INFO ] ================================================================= [INFO ] Installing ltrace [EXTRA] Copying sources to build dir [EXTRA] Configuring ltrace [EXTRA] Building ltrace [EXTRA] Installing ltrace [INFO ] Installing ltrace: done in 21.45s (at 58:48) [INFO ] ================================================================= [INFO ] Installing strace [EXTRA] Configuring strace [EXTRA] Building strace [EXTRA] Installing strace [INFO ] Installing strace: done in 145.20s (at 61:14) [EXTRA] Saving state to restart at step 'test_suite'... [EXTRA] Saving state to restart at step 'finish'... [INFO ] ================================================================= [INFO ] Cleaning-up the toolchain's directory [INFO ] Stripping all toolchain executables [EXTRA] Installing the populate helper [EXTRA] Installing a cross-ldd helper [EXTRA] Creating toolchain aliases [EXTRA] Removing access to the build system tools [EXTRA] Removing installed documentation [INFO ] Cleaning-up the toolchain's directory: done in 40.24s (at 62:55) [INFO ] Build completed at 20130801.153805 [INFO ] (elapsed: 1343:39.41) [INFO ] Finishing installation (may take a few seconds)... [62:56] / CLi@PC-CLI-1 ~/develop/crosstool-ng/crosstool-ng-1.18.0_build $
不容易啊。。。
【总结】
历尽千辛万苦,最后终于算是在cygwin下面,成功编译for xscale的crosstool-ng。
总结一下当前所用的主要配置:
CT_ARCH="arm" CT_ARCH_ARCH="armv5te" CT_ARCH_CPU="xscale" CT_ARCH_TUNE="xscale" CT_ARCH_USE_MMU=y CT_ARCH_ENDIAN="little" CT_ARCH_FLOAT_SOFTFP=y CT_ARCH_FLOAT="softfp" CT_TARGET_VENDOR="xscale" CT_KERNEL_LINUX_CUSTOM=y CT_KERNEL_LINUX_CUSTOM_LOCATION="${HOME}/develop/crosstool-ng/src/linux-2.6.19.1.tar.bz2" CT_BINUTILS_V_2_22=y CT_BINUTILS_VERSION="2.22" CT_CC="gcc" CT_CC_VERSION="4.6.0" CT_LIBC="glibc" CT_LIBC_VERSION="2.9" CT_STRACE_V_4_5_19=y CT_DMALLOC_V_5_5_2=y CT_GDB_V_6_8a=y CT_GDB_VERSION="6.8a" CT_GMP_V_5_0_2=y CT_GMP_VERSION="5.0.2" CT_MPFR_V_3_1_0=y CT_MPFR_VERSION="3.1.0" CT_MPC_V_0_9=y CT_MPC_VERSION="0.9" CT_LIBELF_V_0_8_13=y CT_LIBELF_VERSION="0.8.13" CT_COMP_TOOLS=y CT_COMP_TOOLS_make=y
然后,再把当前所用的配置,即原先的.config的全部内容,改了个更容易理解的名字,上传到自己网站上,供下载(右键另存为):
crosstool_ng_1_18_0_for_xscale.config
注:
上述配置文件的用法:
下载该配置文件后,另存为.config -> 把.config文件放到crosstool-ng的当前路径下 -> ct-ng menuconfig -> Load an Alternate Configuration File -> 输入配置文件名.config -> OK,即可加载所有的配置。