компиляция нативного GCC для arm с использованием кросс-компилятора - PullRequest
4 голосов
/ 05 октября 2011

Я хочу создать собственную сборку GCC для системы ARM, и у меня возникли некоторые проблемы.Сборочная машина - i686-linux.В каждом уроке, который я вижу, рассказывается, как настроить настоящий пакет кросс-компиляции (что я уже сделал с помощью crosstools-ng).Однако я не вижу ничего связанного с компиляцией нативного ARM GCC.Строка конфигурации, которую я использовал, приведена ниже, я настроил sysroot только с заголовками.Я также кросс-скомпилировал и установил GMP и MPFR.

../../gcc-4.3.5/configure \
    --host=arm-unknown-linux-gnueabi \
    --build=i686-build_pc-linux-gnu \
    --target=arm-unknown-linux-gnueabi \
    --prefix=/home/vm/gcc-native/sysroot \
    --with-sysroot=/home/vm/gcc-native/sysroot \
    --enable-shared --enable-threads --disable-libmudflap --disable-libssp \
    --disable-libgomp --disable-libstdcxx-pch --with-gnu-as --with-gnu-ld \
    --enable-languages=c,c++ --enable-symvers=gnu --enable-__cxa_atexit \
    --disable-nls --disable-multilib \
    --with-gmp=/home/vm/gcc-native/sysroot/ \
    --with-mpfr=/home/vm/gcc-native/sysroot/

GCC будет собираться некоторое время, но затем умирает с этим:

проверка на суффикс объектных файлов ... configure: error: не удается вычислить суффикс объектных файлов: не удается скомпилировать.

Я не уверен, как это будет работать в моей системе, так как я работаю на i686-linux, а цель / хостобе руки-linux.Сейчас я думаю найти дистрибутив ltib, посмотреть файл спецификации для GCC и попытаться выполнить все шаги.GCC, который ltib поставил для моей платы, не компилируется в моей системе из-за конфликтов с пространством имен std.

Любая информация / ссылки будут оценены!

1 Ответ

2 голосов
/ 22 ноября 2011

Посмотрите в файле config.log (возможно, не на верхнем уровне) и посмотрите, что он пытался сделать, когда тест не удался. Просто grep для сообщения cannot compute suffix, и вы должны найти правильный бит (его не будет в конце файла).

Обратите внимание, что вам понадобится рабочий arm-unknown-linux-gnueabi-gcc на вашем пути, если вы хотите создать кросс-нативный набор инструментов. То есть вам нужен кросс-компилятор для сборки кросс-нативного компилятора.

...