Arm linux gnueabihf gcc команда не найдена

Обновлено: 28.06.2024

Как правильно загрузить программу linaro toolchain и настроить ее, чтобы я мог использовать ее с файлом Makefile ядра? Когда я тестирую свою версию в функции arm-linux-gnueabihf-gcc --version, она работает, но при компиляции настраиваемого ядра она терпит неудачу.

Я работаю над компиляцией пользовательское ядро ​​linux для платы Beaglebone Black. Следующее руководство по созданию пользовательского ядра приведено здесь

. Следуя инструкциям для руководства, мне нужно использовать arm-linux-gnueabihf-gcc, чтобы перекрестно скомпилировать ядро ​​для аппаратного обеспечения Beaglebone. Поэтому я установил здесь . Я просто загрузил его, а затем распаковал его в папку /opt/.

Я тестирую и слежу за тем, чтобы все работало при установке.

И мой вывод выглядит следующим образом:

Как только я Я закончил с тем, что компилирую ядро, используя стандартный Makefile.

В этот момент я нахожусь в ошибках команды для собственно компиляции ядра.

Makefile:686: Cannot use CONFIG_CC_STACKPROTECTOR_STRONG: -fstack-protector-strong not supported by compiler make: arm-linux-gnueabihf-gcc: Command not found CHK include/config/kernel.release CHK include/generated/uapi/linux/version.h CC scripts/mod/empty.o /bin/sh: 1: arm-linux-gnueabihf-gcc: not found scripts/Makefile.build:258: recipe for target 'scripts/mod/empty.o' failed make[2]: *** [scripts/mod/empty.o] Error 127 scripts/Makefile.build:403: recipe for target 'scripts/mod' failed make[1]: *** [scripts/mod] Error 2 make[1]: *** Waiting for unfinished jobs. Makefile:556: recipe for target 'scripts' failed make: *** [scripts] Error 2 make: *** Waiting for unfinished jobs.

Самое смутное, что ошибки указывают на то, что arm-linux-gnueabihf-gcc: not found, однако я могу запустить команду arm-linux-gnueabihf-gcc --version в той же папке, и она будет выполнена правильно.

Решение этой проблемы может состоять в том, чтобы просто установить ее с помощью apt:

sudo apt-get install gcc-arm*

, который предлагается в ответе , но это не разрешает мое замешательство.

Почему я могу проверить свою версию на функции arm-linux-gnueabihf-gcc, но она не выполняется в Makefile правильно? Как правильно загрузить программу linaro toolchain и настроить ее, чтобы я мог использовать ее с файлом Makefile?

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

В чем разница между цепочками инструментов arm-linux-gcc, arm-none-linux-gnueabi и arm-linux-gnueabi ? Они компилируются по-разному?

Я пытаюсь установить цепочку инструментов для кросс-компиляции ARM. Я уже установил GCC 4.8. Установка arm-none-linux-gnueabi-gcc завершается неудачей со следующим выводом: $ sudo port install arm-none-linux-gnueabi-* ---> Cleaning arm-none-linux-gnueabi-binutils ---> Computing dependencies.

Вы компилируете на 64-bit OS? Попробуй:

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

Соглашение 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 , однако вам может потребоваться принудительно обновить базу данных locate с помощью sudo updatedb , прежде чем locate будет работать должным образом.

После того как вы определили, где установлен ваш CodeSourcery, добавьте его в свой PATH, отредактировав

/.bashrc следующим образом:

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

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

Я пытаюсь скомпилировать kernel на своей плате FOX G20 V. Для этого я должен указать кросс-компилятор в одном из шагов arm-linux-gnueabi . Команда такова make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi-at91-ariag25.dtb Поэтому для того, чтобы компилятор знал, где находится исполняемый файл.

если вы находитесь на ОС 64 bit, то вам нужно установить эти дополнительные библиотеки.

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

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

- Добавьте цепочку инструментов к вашему пути

обратите внимание на версию x64 в команде path

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

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

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

используйте этот каталог для gcc-toolchain. Полезный учебник по компиляции, которому я следовал, доступен здесь Building and compiling Raspberry PI Kernel (используйте путь-x64 сверху как $)

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

Используйте i686 VM.

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

где xxx - это gcc, ar или ld и т. д.

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

Очень вероятно, что команда установлена в /usr/bin .

Мне пришлось скомпилировать код C в Ubuntu для ARM. Это сработало для меня:

$ sudo apt install gcc-arm-none-eabi

Позже протестировал его на эмуляторе qemu

Похожие вопросы:

Я пытаюсь создать приложение для angstrom linux (в моем случае оно использует uclibc вместо libstdc++). Я использую bitbake и openembedded. С помощью простой цепочки инструментов я могу успешно.

По причинам, приведенным в Android gcc sysroot и linker для компиляции NDK проектов на Ubuntu, я компилирую свой Android NDK проект с arm-linux-gnueabi-gcc . Нет никаких проблем при компиляции без.

В чем разница между цепочками инструментов arm-linux-gcc, arm-none-linux-gnueabi и arm-linux-gnueabi ? Они компилируются по-разному?

Я пытаюсь установить цепочку инструментов для кросс-компиляции ARM. Я уже установил GCC 4.8. Установка arm-none-linux-gnueabi-gcc завершается неудачей со следующим выводом: $ sudo port install.

Я пытаюсь скомпилировать kernel на своей плате FOX G20 V. Для этого я должен указать кросс-компилятор в одном из шагов arm-linux-gnueabi . Команда такова make ARCH=arm.

Я пытаюсь кросс-компилировать libcurl использует 7.35.0 от ubuntu eclipse для arm-linux-gnueabi-gcc++. Я включил оптоны-lcurl в компоновщик GCC++. когда я пытаюсь скомпилировать код в компиляторе.

Я пытаюсь скомпилировать Hello World для процессора ARM-1136J-S. Когда я компилирую исходный код C с помощью CodeSourcery arm-none-linux-gnueabi-gcc (2008q3 edition), он успешно выполняется на ARM.

Я пытаюсь скомпилировать код C++ для архитектуры ARM. Я не знаю точно полного имени процессора (ожидая информации от какого-то аппаратного парня), я знаю только, что это какой-то ARM. Проблема.

Здравствуйте. В работе с Linux я еще новичок, пришлось столкнуться с ним во время работы. Постараюсь изложить проблему наиболее понятно.

Стоит задача реализовать соединение клиент/сервер по протоколу МЭК 61850. Для решения этой задачи я использовал библиотеку libiec61850. Мне необходимо собрать библиотеку для компиляции программы под Linux ARM процессор. Есть встраиваемый компьютер MOXA IA240-LX с процессором х86 MOXA ART ARM9. Для кросс-компиляции установлен tool-chain arm_linux_1.3 с диска, который был в комплекте с MOXA.

To cross-compile for ARM Linux you can call make TARGET=LINUX-ARM. It is assumed that a proper GCC cross-compiler toolchain (like MinGW or arm-linux-gcc) is installed. Probably you need to adjust the toolchain prefix variables in the file make/target_system.mk.

Как я понял, что если не собирается, то необходимо ввести поправки в файле make/target_system.mk. В работе с make файлами я полный ноль.

Если есть кто-нибудь, кто уже работал с этой библиотекой, то очень прошу помощи. На Windows в Visual Studio у меня все работает, необходимо только запустить все это дело на MOXA компьютере. Спасибо.

P.S. Вот сам make файл:

UNAME := $(shell uname)

ifndef TARGET ifeq ($(UNAME), Linux) TARGET=POSIX else ifeq ($(findstring MINGW,$(UNAME)), MINGW) TARGET=WIN32 else ifeq ($(UNAME), Darwin) TARGET=BSD else ifeq ($(UNAME), FreeBSD) TARGET=BSD endif endif

ifeq ($(TARGET), WIN32) WINDOWS=1 endif

ifeq ($(TARGET), WIN64) WINDOWS=1 endif

ifdef WINDOWS ifeq ($(UNAME), Linux) ifeq ($(TARGET), WIN32) TOOLCHAIN_PREFIX=$(MINGW_TOOLCHAIN_PREFIX) endif ifeq ($(TARGET), WIN64) TOOLCHAIN_PREFIX=$(MINGW64_TOOLCHAIN_PREFIX) endif else TOOLCHAIN_PREFIX= endif endif

ifeq ($(TARGET), LINUX-POWERPC) TOOLCHAIN_PREFIX=$(POWERPC_TOOLCHAIN_PREFIX) endif

ifeq ($(TARGET), LINUX-MIPSEL) TOOLCHAIN_PREFIX=$(MIPSEL_TOOLCHAIN_PREFIX) endif

ifeq ($(TARGET), LINUX-ARM) TOOLCHAIN_PREFIX=$(ARM_TOOLCHAIN_PREFIX) endif

ifeq ($(TARGET), UCLINUX-WAGO) TOOLCHAIN_PREFIX=$(UCLINUX_ARM_TOOLCHAIN_PREFIX) CFLAGS += -msoft-float CFLAGS += -Wall CFLAGS += -DEMBED CFLAGS += -Dlinux -D__linux__ -Dunix CFLAGS += -D__uClinux__ CFLAGS += -DTARGET=UCLINUX-WAGO LDFLAGS += -Wl,-move-rodata -Wl,-elf2flt endif

ifdef WINDOWS HAL_IMPL = WIN32 LIB_OBJS_DIR = $(LIBIEC_HOME)/build_win32 CFLAGS=-g -DWIN32

ifeq ($(TARGET), WIN32) CFLAGS+=-m32 endif

ifeq ($(TARGET), WIN64) CFLAGS+=-m64 endif

LDLIBS=-lws2_32 DYNLIB_LDFLAGS=-Wl,-no-undefined -Wl,--enable-runtime-pseudo-reloc -Wl,--output-def,libiec61850.def,--out-implib,libiec61850.a

ifeq ($(TARGET), WIN64) LDFLAGS += -L$(LIBIEC_HOME)/third_party/winpcap/Lib/x64 else LDFLAGS += -L$(LIBIEC_HOME)/third_party/winpcap/Lib endif

LDLIBS+=-liphlpapi -lwpcap else $(warning winpcap not found - will build without GOOSE support!) CFLAGS += -DEXCLUDE_ETHERNET_WINDOWS EXCLUDE_ETHERNET_WINDOWS = 1 endif

else ifeq ($(TARGET), BSD) HAL_IMPL = BSD else HAL_IMPL = POSIX endif

ifeq ($(TARGET), LINUX-MIPSEL) LIB_OBJS_DIR = $(LIBIEC_HOME)/build-mipsel else ifeq ($(TARGET), LINUX-ARM) LIB_OBJS_DIR = $(LIBIEC_HOME)/build-arm else ifeq ($(TARGET), UCLINUX-WAGO) LIB_OBJS_DIR = $(LIBIEC_HOME)/build-wago CFLAGS += -DTARGET_SYSTEM_UCLINUX_WAGO else ifeq ($(TARGET), LINUX-POWERPC) LIB_OBJS_DIR = $(LIBIEC_HOME)/build-powerpc else LIB_OBJS_DIR = $(LIBIEC_HOME)/build endif

ifneq ($(TARGET), CLANG-CHECK) CC=$(TOOLCHAIN_PREFIX)gcc CPP=$(TOOLCHAIN_PREFIX)g++ endif

ifeq ($(TARGET), BSD) CC=cc CPP=c++ endif

ifeq ($(TARGET), WIN32) PROJECT_BINARY_NAME := $(PROJECT_BINARY_NAME).exe endif

ifeq ($(TARGET), BSD) CFLAGS += -arch i386 LDFLAGS += -arch i386 endif

ifeq ($(TARGET), WIN32) DYN_LIB_NAME = $(LIB_OBJS_DIR)/iec61850.dll else

ifeq ($(TARGET), BSD) DYN_LIB_NAME = $(LIB_OBJS_DIR)/libiec61850.dylib else DYN_LIB_NAME = $(LIB_OBJS_DIR)/libiec61850.so endif

Need Forum Guidance? Click here

Search our FPGA Knowledge Articles here.

  • Intel Communities
  • Product Support Forums
  • FPGA
  • Programmable Devices
  • arm-linux-gnueabihf-gcc command not found

arm-linux-gnueabihf-gcc command not found

  • Отметить как новое
  • Закладка
  • Подписаться
  • Отключить
  • Электронная почта другу

Hey,guys, how to solve the problem which is "arm-linux-gnueabihf-gcc command not found" at the Embedded_Command_shell when I type "make" command? I follow the instruction in My_First_HPS.pdf to build the executable file but fail with this error.

Quartus version I used is 13.0 .

  • Отметить как новое
  • Закладка
  • Подписаться
  • Отключить
  • Электронная почта другу

I general the command not found is due to that you do not have a correct path to the binary. So it's either a problem with the embedded command shell or some other setup file. I don't know what operating system and shell you are using, but if this was Linux and sh/bash you could resolve the problem by (for example if your DS-5 installation is at /altera/DS-5)

  • Отметить как новое
  • Закладка
  • Подписаться
  • Отключить
  • Электронная почта другу

I general the command not found is due to that you do not have a correct path to the binary. So it's either a problem with the embedded command shell or some other setup file. I don't know what operating system and shell you are using, but if this was Linux and sh/bash you could resolve the problem by (for example if your DS-5 installation is at /altera/DS-5)

Hi,petter , thanks for your reply.

The OS I using is window 7 (32bit) .

I try to follow the suggestion you given to setting the PATH in the embedded command shell but fail . so I wanna to ask izit the setting was same with the Linux?

Below is the picture to describe the problems i faced.

  • Отметить как новое
  • Закладка
  • Подписаться
  • Отключить
  • Электронная почта другу

I hardly ever use Windows. But I seem to remember that the various Altera shells are just cygwin bash shells. However, C: does not make sense in bash and spaces in directory names have to be quoted at least.

But it seems like you already have it in your PATH from your second screendump.

What is the output of

and what happens if you enter the full path:

  • Отметить как новое
  • Закладка
  • Подписаться
  • Отключить
  • Электронная почта другу

I hardly ever use Windows. But I seem to remember that the various Altera shells are just cygwin bash shells. However, C: does not make sense in bash and spaces in directory names have to be quoted at least.

But it seems like you already have it in your PATH from your second screendump.

What is the output of

and what happens if you enter the full path:

The output of "ls /cygdrive/c/altera/13.0/embedded/ds-5/bin/" show that cannot access to /cygdrive/c/altera/13.0/embedded/ds-5/bin/:No such file or directory.

I wonder why my /cygdrive/c/altera/13.0/embedded/ directory does not have "ds-5" folder and I reinstall it several times but still the same result.

Here is the the picture of it.

  • Отметить как новое
  • Закладка
  • Подписаться
  • Отключить
  • Электронная почта другу

Can you find arm-linux-gnueabihf-gcc anywhere on your filesystem? There's a tool in Windows to find files. In cygwin you could probably do:

find /cygdrive/c -name arm-linux-gnueabihf-gcc

  • Отметить как новое
  • Закладка
  • Подписаться
  • Отключить
  • Электронная почта другу

Can you find arm-linux-gnueabihf-gcc anywhere on your filesystem? There's a tool in Windows to find files. In cygwin you could probably do:

find /cygdrive/c -name arm-linux-gnueabihf-gcc

thanks your help

  • Отметить как новое
  • Закладка
  • Подписаться
  • Отключить
  • Электронная почта другу

I'm glad you got your problem solved. However, it's good practice to write a short description of what the problem was and how it was solved. When other users google for the same problem they might find an actual solution to the problem.

  • Отметить как новое
  • Закладка
  • Подписаться
  • Отключить
  • Электронная почта другу

I'm glad you got your problem solved. However, it's good practice to write a short description of what the problem was and how it was solved. When other users google for the same problem they might find an actual solution to the problem.

I notice that after full installation of ds-5, the DS-5 folder was located on my C drive Programs file which supposed to be located on /c/altera/13.0/embedded/ , then just need to copy the DS-5 folder to the embedded directory, problem was solved then.

Читайте также: