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