Сбой сборки Crosstool-NG - PullRequest
       43

Сбой сборки Crosstool-NG

1 голос
/ 29 июня 2011

Я использую руководство от Free-Electrons.com

Я пытаюсь установить компилятор crosstool-ng и перешел к точке, в которой вы запускаете следующую команду под заголовком Создание цепочки инструментов на странице 6.

./ct-ng build

Следует отметить, что в статье говорится об использовании Release 1.4.2 Crosstool-ng , который я сделал.

Во время сборки он не сможет сказать, что не может загрузить sstrip , который, как представляется, задокументирован здесь

Пример сбоя:

[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 ]

1 голос
/ 01 июля 2011

Решением было использование последней версии 1.11.x Crosstool-ng

0 голосов
/ 23 июля 2013

возможность и решение:

  • вы используете xxx.tar.gz

решение:

использование xxx.tar.bz2 вместо xxx.tar.gz

  • неполный файл tar-шара

независимо от того, загружаете ли вы tar или используете для вас автоматическую загрузку crosstool, просто:

решение:

гарантирует, что tar-файл, такой как xxx.tar.bz2, равен intact, not broken

подробнее, см. Мой пост: crosstool buildошибка: в функции 'CT_Extract'

...