crosstool-ng构建失败

时间:2011-06-29 18:21:57

标签: gcc cross-platform beagleboard

我正在使用Free-Electrons.com

中的指南

我正在尝试安装crosstool-ng编译器,并且在第6页的标题生成工具链下运行以下命令。

./ct-ng build

应该注意的是,文章说我使用了 Crosstool-ng 的1.4.2版。

在构建过程中,它将无法下载无法下载 sstrip 的文件 here

失败示例:

[INFO ]  Retrieving needed toolchain components' tarballs
[EXTRA]    Retrieving 'sstrip'
[ERROR]    Could not retrieve 'sstrip'.
[00:10] / make: *** [build] Error 1

简而言之,原因是存储库已移动,发布的解决方案为:

Yes, the buildroot repository has migrated to git from svn after the 1.4.0
release was out, so 1.4.0 still uses the old URL.

Please try:
http://ymorin.is-a-geek.org/download/crosstool-ng/01-fixes/1.4.0/002-sstrip-URL.patch
And while you're at it, you should also apply both of:
http://ymorin.is-a-geek.org/download/crosstool-ng/01-fixes/1.4.0/000-glibc-2.8+_from_cvs_if_addon.patch
http://ymorin.is-a-geek.org/download/crosstool-ng/01-fixes/1.4.0/001-glibc_force_ports_ARM_MIPS.patch

好的,所以安装补丁有点奇怪,但基于ReadMe

The patches should be applied directly at the top-level of the crosstool-NG directory with a command like:
patch -p1 < ..../xxx-blabla.patch (replace ..../xxx-blabla.patch with an actual patch name)

所以我做的是:

%> patch -p1 /felabs/sysdev/toolchain/crosstool-ng-1.4.2/scripts/build/tools/200-sstrip.sh<002-sstrip-URL.patch

我不确定上面的命令是否正确但是在运行 ./ ct-ng build 时,它现在下载了sscript,所以我猜它没关系。

我应该应用其他两个补丁但不确定源文件,无论如何新的构建继续到这一点:

[INFO ]  Build started 20110629.182838
[INFO ]  Checking environment sanity
[INFO ]  Building environment variables
[EXTRA]  Preparing working directories
[WARN ]  You did not specify the build system. That's OK, I can guess...
[EXTRA]  Installing user-supplied crosstool-NG configuration
[EXTRA]  =================================================================
[EXTRA]  Dumping internal crosstool-NG configuration
[EXTRA]    Building a toolchain for:
[EXTRA]      build  = i686-linux-gnu
[EXTRA]      host   = i686-linux-gnu
[EXTRA]      target = arm-unknown-linux-uclibcgnueabi
[EXTRA]  Dumping internal crosstool-NG configuration: done in 0.05s (at 00:01)
[INFO ]  =================================================================
[INFO ]  Retrieving needed toolchain components' tarballs
[EXTRA]    Retrieving 'ltrace_0.5.orig'
[EXTRA]    Saving 'ltrace_0.5.orig.tar.gz' to local storage
[EXTRA]    Retrieving 'strace-4.5.17'
[EXTRA]    Saving 'strace-4.5.17.tar.bz2' to local storage
[INFO ]  Retrieving needed toolchain components' tarballs: done in 8.54s (at 00:09)
[INFO ]  =================================================================
[INFO ]  Extracting and patching toolchain components
[INFO ]  Extracting and patching toolchain components
[EXTRA]    Extracting 'linux-2.6.29'
[EXTRA]    Patching 'linux-2.6.29'
[EXTRA]    Extracting 'gmp-4.2.4'
[EXTRA]    Patching 'gmp-4.2.4'
[EXTRA]    Extracting 'mpfr-2.4.1'
[EXTRA]    Patching 'mpfr-2.4.1'
[EXTRA]    Extracting 'binutils-2.19.1'
[EXTRA]    Patching 'binutils-2.19.1'
[EXTRA]    Extracting 'gcc-4.3.2'
[EXTRA]    Patching 'gcc-4.3.2'
[EXTRA]    Extracting 'uClibc-0.9.30.1'
[EXTRA]    Patching 'uClibc-0.9.30.1'    
[EXTRA]    Extracting 'libelf-0.8.10'
[EXTRA]    Patching 'libelf-0.8.10'
[EXTRA]    Extracting 'sstrip'
[EXTRA]    Patching 'sstrip'
[EXTRA]    Extracting 'gdb-6.8'
[ERROR]    Build failed in step 'Extracting and patching toolchain components'
[ERROR]    Error happened in '/home/swamprat/felabs/sysdev/toolchain/crosstool-ng-1.4.2/scripts/functions' in function 'CT_DoExecLog' (line unknown, sorry)
[ERROR]          called from '/home/swamprat/felabs/sysdev/toolchain/crosstool-ng-1.4.2/scripts/functions' at line # 535 in function 'CT_Extract'
[ERROR]          called from '/home/swamprat/felabs/sysdev/toolchain/crosstool-ng-1.4.2/scripts/build/debug/300-gdb.sh' at line # 60 in function 'do_debug_gdb_extract'
[ERROR]          called from '/home/swamprat/felabs/sysdev/toolchain/crosstool-ng-1.4.2/scripts/build/debug.sh' at line # 28 in function 'do_debug_extract'
[ERROR]          called from '/home/swamprat/felabs/sysdev/toolchain/crosstool-ng-1.4.2/scripts/crosstool-NG.sh' at line # 470 in function 'main'
[ERROR]    Look at '/usr/local/xtools/arm-unknown-linux-uclibcgnueabi/build.log' for more info on this error.
[ERROR]  (elapsed: 1:53.45)
[01:53] / make: *** [build] Error 2

这是我遇到任何想法的地方?

2 个答案:

答案 0 :(得分:1)

解决方案是使用Crosstool-ng

的最新1.11.x版本

答案 1 :(得分:0)

可能性和解决方案:

  • 您使用的是xxx.tar.gz

溶液:

使用xxx.tar.bz2代替xxx.tar.gz

  • 不完整的tar球文件

无论如何,您下载tar或使用crosstool自动下载,只需:

溶液:

确保tar文件,例如xxx.tar.bz2为intact, not broken

更多详情,请参阅我的帖子: crosstool build error:in function ‘CT_Extract’