Вот скрипт который собирает тулчейн для arm-linux-gnueabi- архитектуры из последних версий гнутых инструментов. Как не странно все не так сложно, потребовалось тако три небольших костылика на уровне скрипта сборки, в остальном НИКАКИХ патчей на ванильные утилиты. Собираются С и С++ кросс компиляторы + кросс отладчик и отладочный сервер для целевой архитектуры. Для работы скрипта нужно чтобы в системе стоял набор пакетов разработчика достаточный для компиляции GCC 4.5 версии, а именно GMP + MPFR + MPC + PPL + CLOOG (версии можно уточнитьв мурзилке по сборке gcc). В OpenSUSE 11.3 все необходимое есть из коробки (если поставить через YAST или zypper).
Скрипт можно взять здесь:
http://www.antario.org.ru/downloads/build-toolchain
Использование:
./build-toolchain <директория установки тулчена> [get]
в директорию установки вы должны уметь писать, не в какие переменные среды её прописывать не надо. Указав вторым параметром слово get скрипт сам скочает сырцы если у вас из нет. Логи сборки с ошибками записываются в файлы build.log в соответствующих директориях. Перед сборкой никаких подкаталогов build существовать не должно!
Адаптация под другие версии утилит возможны путем замены соответствующих циферок в скрипте, если версии не сильно отличаются то скорее всего все пройдет успешно. Я тестировал на:
linux-2.6.36
binutils-2.20.1
gcc-4.5.1
glibc-2.11.2 (для 2.12 нету портов пока :( )
gdb-7.2
Возможно заменить и саму целевую архитектуру arm-none-linux-gnueabi на что-нибудь другое что поддерживает glibc. Однако для архитектуры отличной от arm возмоно придется поправить спецификацию (переменная TARGET_SPECS, ато штука служит для прямого указания скриптам configure от glibc на наличие/отсутствие некоторых возможностей на целевой архитектуре, так как пока не собрана финальная вермися самой glibc компилер не может проверить их наличие напрямую - тесовые программы не слинкуются!)
ЗЫ: Вся эта деятельность навеяна тем что crosstool-ng 4.4 версию gcc собирают через откровенную жопу - например работоспособный busybox она собрать не в силах. 4.5 вообще пока не знают. Правды ради нужно сказать что 4.3 версия работает нормально, но старовата (не некоторых фишек от плюсов). И еще crosstool-ng занимается фигней собирая (часто через задницу) вспомогательные либы для gcc которые прекрасно можно найти и в самой системе.
ЗЫЫ: Скрипт написан без применения вертолетостроительного шел программирования так что потенциально его понять может любой желающий.
Похожие темы
- Форум [Toolchain][Blackfin] Как собрать? (2010)
- Форум glibc-2.15 проблема при сборке под arm (2012)
- Форум CMake кросс-компиляция для ARM фейлится на этапе теста (2018)
- Форум Ubuntu, версия компилятора (минимальное ядро) (2021)
- Форум PhoneMe for ARM (2012)
- Новости Состоялся релиз метадистрибутива T2 SDE (2010)
- Форум libiec61850 для Linux ARM (2016)
- Форум Прошу помощи с кросс-компиляцией библиотеки qt-gstreamer (QtGstreamer) для ARM (2017)
- Новости Релиз GNU C Library 2.17 (2012)
- Форум Неправильная сборка кросс-компилятора под thumb2 (armv7) (2015)