Сборка Gnuarm toolchain из исходного кода

Я хочу создать набор инструментов из gnuarm.org из источников. Я не хочу использовать бинарную версию, потому что я использую x64 Linux. Можете ли вы указать мне на какой-то учебник?

3 ответа

Решение

Вам нужно установить libx11-dev для компиляции Insight.

sudo apt-get install libx11-dev

Кроме того, ваш собственный ответ работает просто отлично.

Изменить: Да, и вы можете пропустить termcap, получить его здесь: GNU Termcap

Edit2: Configure, похоже, не знает, как игнорировать возвращаемые значения "xxx", объявленные с атрибутом warn_unused_result ", поэтому вам может потребоваться изменить параметры или около 12 экземпляров, чтобы перехватывать возвращаемые значения для получения чистой сборки.

Вот команды / параметры по умолчанию, используемые для сборки бинарных пакетов. Скачайте исходники, распакуйте и оформите их:

  1. cd [binutils-build]
  2. [binutils-source] / configure --target = arm-elf --prefix = [toolchain-prefix] --enable-interwork --enable-multilib --with-float = soft
  3. сделать все установить
  4. export PATH="$PATH:[префикс цепочки инструментов] / bin"
  5. cd [gcc-build]
  6. [gcc-source] / configure --target = arm-elf --prefix = [toolchain-prefix] --enable-interwork --enable-multilib --with-float = soft --enable-languages ​​="c, C++" --with-newlib --with-headers=[newlib-source]/newlib/libc/include
  7. сделать все-gcc установить-gcc
  8. cd [newlib-build]
  9. [newlib-source] / configure --target = arm-elf --prefix = [toolchain-prefix] --enable-interwork --enable-multilib --with-float = soft
    1. сделать все установить
    2. cd [gcc-build]
    3. сделать все установить
    4. cd [gdb-build]
    5. [gdb-source] / configure --target = arm-elf --prefix = [toolchain-prefix] --enable-interwork --enable-multilib --with-float = soft
    6. сделать все установить

линии 11-12, кажется, не имеют никакого эффекта. Использование gcc < 4.x не рекомендуется, и сборка binutils может привести к следующей ошибке:

../../binutils-2.19/gas/config/tc-arm.c: в функции 's_arm_unwind_save_mmxwr': ../../binutils-2.19/gas/config/tc-arm.c:3459: ошибка: формат не строковый литерал и аргументы формата

решение легко, просто добавьте "%s" в качестве параметра FIRST в строки с ошибкой, как предлагает патч: http://www.mail-archive.com/bug-binutils@gnu.org/msg06475.html

Я не мог построить понимание, но я предполагаю, что возможно отладить это с чем-то еще.

  1. Загрузите источники, доступные в разделе "Файлы"
  2. Распаковать их
  3. Перейдите в каждый распакованный каталог и введите:

    ./configure --help

    чтобы получить доступные варианты, затем запустите

    ./configure [опции]

    делать

    сделать проверку

    сделать установку

Другие вопросы по тегам