Подтвердить что ты не робот

Команда gcc-arm-linux-gnueabi не найдена

Я пытаюсь установить инструмент gnu toolchain для ubuntu. Сначала я загрузил tar из CodeSourcery. Однако, когда я перехожу в папку bin, я не могу запустить ни один из двоичных файлов. Я пробовал с./и без него и помещал его в PATH, и он продолжает говорить мне "Command not Found", но файл находится в папке прямо передо мной. Затем я попробовал sudo apt-get install gcc-arm-linux-gnueabi, но только после того, как он сказал, что он успешно установлен, я не могу найти его с whereis gcc-arm-linux-gnueabi. Может ли кто-нибудь помочь?

4b9b3361

Ответ 1

Собираетесь ли вы на 64-разрядную ОС? Попробуйте:

sudo apt-get install ia32-libs

У меня была такая же проблема при попытке скомпилировать ядро ​​малины Pi. Я был кросс-компиляцией на Ubuntu 12.04 64-бит, и для инструментальной цепочки требуется, чтобы ia32-libs работали в 64-разрядной системе.

См. http://hertaville.com/2012/09/28/development-environment-raspberry-pi-cross-compiler/

Ответ 2

Соглашение CodeSourcery должно использовать префикс arm-none-linux-gnueabi- для всех исполняемых файлов, а не gcc-arm-linux-gnueabi, которые вы упомянули. Итак, стандартное имя для CodeSourcery gcc будет arm-none-linux-gnueabi-gcc.

После того, как вы установили CodeSourcery g++, вам нужно добавить каталог CodeSourcery в PATH.

Как правило, я предпочитаю устанавливать CodeSourcery в каталог типа /opt/arm-2010q1 или что-то в этом роде. Если вы не знаете, где вы его установили, вы можете найти его с помощью locate arm-none-linux-gnueabi-gcc, однако вам может потребоваться принудительно обновить db вашего местоположения, используя sudo updatedb, прежде чем locate будет работать правильно.

После того, как вы определили, где установлен ваш CodeSourcery, добавьте его PATH, отредактировав ~/.bashrc следующим образом:

PATH=/opt/arm-2010q1/bin:$PATH

Кроме того, принято и очень удобно определять

CROSS_COMPILE=arm-none-linux-gnueabi-

в .bashrc, потому что при определении CROSS_COMPILE большинство инструментов автоматически будут использовать правильный компилятор для компиляции ARM, не делая ничего.

Ответ 3

исправлено, используя:

sudo apt-get install gcc-arm*

Ответ 4

если вы используете 64-разрядную версию os, вам необходимо установить дополнительные библиотеки.

sudo apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0

Ответ 5

получил ту же ошибку при попытке скомпилировать ядро ​​малины pi на ubunto 14.04.03 64 бит под VM. решение было найдено здесь:

-Устанавливать пакеты, используемые для кросс-компиляции в поле Ubuntu.

sudo apt-get install gcc-arm-linux-gnueabi make git-core ncurses-dev

-Загрузить инструментальную цепочку

cd ~
git clone https://github.com/raspberrypi/tools

-Добавить привязку к вашему пути

PATH=$PATH:~/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian:~/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin

Обратите внимание на версию x64 в команде пути

Ответ 6

Я также столкнулся с той же проблемой и разрешил ее после установки следующей зависимости:

sudo apt-get install lib32z1-dev

Ответ 7

Если вы используете 64-битную сборку ubuntu или debian (см., например, "cat/proc/version" ), вы должны просто использовать 64-битные кросс-компиляторы, если вы клонировали

git clone https://github.com/raspberrypi/tools

тогда 64-битные инструменты находятся в

tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64

используйте этот каталог для gcc-toolchain. Полезный учебник для компиляции, который я получил, доступен здесь Построение и компиляция ядра PIB Яблока (используйте путь -x64 выше, как ${CCPREFIX}).

Ответ 8

Это немного противоречиво. Инструментальная цепочка называется gcc-arm-linux-gnueabi. Чтобы вызвать инструменты, выполните следующие действия: arm-linux-gnueabi-xxx

где xxx gcc или ar или ld и т.д.

Ответ 9

попробуйте выполнить следующую команду:

which gcc-arm-linux-gnueabi

Скорее всего, команда установлена ​​в /usr/bin.

Ответ 10

Вы установили инструментальную цепочку, которая была скомпилирована для i686 на ящике, в котором находится пользовательская область x86_64.

Используйте виртуальную машину i686.