Make arm linux gnueabi gcc команда не найдена

ERROR make arm-uboot: arm-xilinx-linux-gnueabi-gcc: not found #60

Comments

ninode commented Jul 31, 2017

Hello,
I have the following error in zedboard while running make arm-uboot. Could you please tell me how to solve it?

The text was updated successfully, but these errors were encountered:

davidbiancolin commented Aug 9, 2017

You need to install the arm-xilinx-linux-gnueabi toolchain. You’re going to be cross compiling code on your host machine for the zynq’s arm core (arm-v7).

ninode commented Aug 9, 2017 •

@davidbiancolin
This directory in SDK shows arm-xilinx-linux-gnueabi-gcc (which is not found in error)

/Xilinx/SDK/2016.2/gnu/arm/lin/bin$ arm-xilinx-linux-gnueabi-gcc —version bash: /home/alpha/Xilinx/SDK/2016.2/gnu/arm/lin/bin/arm-xilinx-linux-gnueabi-gcc: No such file or directory «>

Is this not the arm-xilinx-linux-gnueabi toolchain ?

davidbiancolin commented Aug 9, 2017

It is. That last error is weird. It’s on your PATH right?

ninode commented Aug 9, 2017

After source settings.sh in Vivado and SDK:
echo $PATH
/home/alpha/Xilinx/Vivado/2016.2/bin:/home/alpha/Xilinx/Vivado_HLS/2016.2/bin:/home/alpha/Xilinx/DocNav:/home/alpha/Xilinx/SDK/2016.2/bin:/home/alpha/Xilinx/SDK/2016.2/gnu/microblaze/lin/bin:/home/alpha/Xilinx/SDK/2016.2/gnu/arm/lin/bin:/home/alpha/Xilinx/SDK/2016.2/gnu/microblaze/linux_toolchain/lin64_be/bin:/home/alpha/Xilinx/SDK/2016.2/gnu/microblaze/linux_toolchain/lin64_le/bin:/home/alpha/Xilinx/SDK/2016.2/gnu/aarch32/lin/gcc-arm-linux-gnueabi/bin:/home/alpha/Xilinx/SDK/2016.2/gnu/aarch32/lin/gcc-arm-none-eabi/bin:/home/alpha/Xilinx/SDK/2016.2/gnu/aarch64/lin/aarch64-linux/bin:/home/alpha/Xilinx/SDK/2016.2/gnu/aarch64/lin/aarch64-none/bin:/home/alpha/Xilinx/SDK/2016.2/gnu/armr5/lin/gcc-arm-none-eabi/bin:/home/alpha/Xilinx/SDK/2016.2/tps/lnx64/cmake-3.3.2/bin:/home/alpha/Xilinx/Vivado/2016.2/bin:/home/alpha/Xilinx/Vivado_HLS/2016.2/bin:/home/alpha/Xilinx/DocNav:/home/alpha/Xilinx/SDK/2016.2/bin:/home/alpha/Xilinx/SDK/2016.2/gnu/microblaze/lin/bin:/home/alpha/Xilinx/SDK/2016.2/gnu/arm/lin/bin:/home/alpha/Xilinx/SDK/2016.2/gnu/microblaze/linux_toolchain/lin64_be/bin:/home/alpha/Xilinx/SDK/2016.2/gnu/microblaze/linux_toolchain/lin64_le/bin:/home/alpha/Xilinx/SDK/2016.2/gnu/aarch32/lin/gcc-arm-linux-gnueabi/bin:/home/alpha/Xilinx/SDK/2016.2/gnu/aarch32/lin/gcc-arm-none-eabi/bin:/home/alpha/Xilinx/SDK/2016.2/gnu/aarch64/lin/aarch64-linux/bin:/home/alpha/Xilinx/SDK/2016.2/gnu/aarch64/lin/aarch64-none/bin:/home/alpha/Xilinx/SDK/2016.2/gnu/armr5/lin/gcc-arm-none-eabi/bin:/home/alpha/Xilinx/SDK/2016.2/tps/lnx64/cmake-3.3.2/bin:/bin:/usr/bin
arm-xilinx-linux-gnueabi-gcc doesn’t show in PATH.

I added export PATH=/home/alpha/Xilinx/SDK/2016.2/gnu/arm/lin/bin:$PATH. Same error

I added export PATH=/home/alpha/Xilinx/SDK/2016.2/gnu/arm/lin/bin/gcc-arm-xilinx-linux-gnueabi:$PATH. Same error.

I have found some answers with Codesourcery bin in PATH. Should that work ?

ninode commented Aug 9, 2017 •

Even in Codesourcery:

Is something wrong here fpga-zynq/common/u-boot-xlnx. Should the gcc be located here or something ?
Should I make some configs in u-boot-xlnx ?

davidbiancolin commented Aug 10, 2017

So you shouldn’t have to install it yourself. The vivado provided toolchain is fine. It looks like it’s in your path.

Starting from scratch, and just sourcing the vivado setting, confirm that which arm-xilinx-linux-gnueabi-gcc succeeds, then check the permissions.

ninode commented Aug 10, 2017

Yes, which arm-xilinx-linux-gnueabi-gcc succeeds.

make arm-uboot in /fpga-zynq/zedboard still fails.

Источник

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

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

если вы устанавливаете из исходного кода, вам нужно скомпилировать исходный код и установить bin. Однако, если вы загрузите скомпилированный бин, вы сможете его запустить. может дать больше информации после того, как вы используете apt для его установки. попробуй использовать sudo find / -name «*gcc-arm*» найти, есть ли какой-нибудь бин — How Chen

apt-get установить ia32-libs. Вы пытаетесь запустить 32-битные двоичные файлы на 64-битной установке Linux. Был там, сделал это. — old_timer

Читайте также:  Замятие бумаги принтер самсунг 2070

Для Mac и Win 10 вы можете обратиться к это отвечать. — Hasan A Yousef

11 ответы

Вы компилируете на 64-битной ОС? Пытаться:

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

В Ubuntu, когда я даю эту команду, она выдает ошибку: пакет ia32-libs недоступен, но на него ссылается другой пакет. — пользователь 2879704

@MadhavanKumar попробуйте этот sudo apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0 — Джигар Патель

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

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

Также принято и очень удобно определять

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

Это не соглашение CodeSourcery, это вещь GNU/GCC, называемая target-triplet, которая имеет форму ЦП-вендор-ОС — иабдалкадер

@mux: я не говорил, что это соглашение CodeSourcery. Я только сказал, что это общепринято, и большинство инструментов начнут использовать его автоматически (что вполне может быть из-за триплета цели GCC). — MVP

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

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

-Скачать набор инструментов

-Добавить набор инструментов на свой путь

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

Источник

libiec61850 для Linux ARM

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

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

На офф. сайте библиотеки (http://libiec61850.com/libiec61850/documentation/building-the-library/) написано, что для сборки под ARM необходимо собрать make с TARGET=LINUX-ARM, однако есть ошибки:

make: arm-linux-gnueabi-gcc: Команда не найдена Makefile:152: ошибка выполнения рецепта для цели «build-arm/src/mms/iso_acse/acse.o» make: ***[build-arm/src/mms/iso_acse/acse.o] Ошибка 127

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)

MIPSEL_TOOLCHAIN_PREFIX=mipsel-openwrt-linux- # ARM_TOOLCHAIN_PREFIX=arm-linux-gnueabihf- #ARM_TOOLCHAIN_PREFIX=arm-linux-gnueabi- #ARM_TOOLCHAIN_PREFIX=arm-poky-linux-gnueabi- ARM_TOOLCHAIN_PREFIX=arm-linux-gnueabi- UCLINUX_ARM_TOOLCHAIN_PREFIX=arm-uclinux-elf- MINGW_TOOLCHAIN_PREFIX=i586-mingw32msvc- #MINGW_TOOLCHAIN_PREFIX=x86_64-w64-mingw32- MINGW64_TOOLCHAIN_PREFIX=x86_64-w64-mingw32-

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

# on Windows: only compile with ethernet support if winpcap files are in third_party/winpcap! ifneq (, $(wildcard $(LIBIEC_HOME)/third_party/winpcap/Include/.))

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

CFLAGS += -g #CFLAGS += -Os

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

Источник

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

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

10 ответов

Исправлено с использованием:

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

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

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

Читайте также:  Hp laserjet p2035 картридж чип

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

Также принято и очень удобно определять

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

Источник

Команда 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. Может ли кто-нибудь помочь?

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

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

Соглашение 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 следующим образом:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Источник

Поделиться с друзьями
КомпСовет
Adblock
detector