我正在使用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
这是我遇到任何想法的地方?
答案 0 :(得分:1)
解决方案是使用Crosstool-ng
的最新1.11.x版本答案 1 :(得分:0)
可能性和解决方案:
溶液:
使用xxx.tar.bz2
代替xxx.tar.gz
无论如何,您下载tar或使用crosstool自动下载,只需:
溶液:
确保tar文件,例如xxx.tar.bz2为intact, not broken
更多详情,请参阅我的帖子: crosstool build error:in function ‘CT_Extract’