ошибка scons "sh: 1: arm-none-eabi-gcc: not found"

в моем проекте я использую для сборки как Scons, так и Makefile. Он работает нормально, когда я использую Makefile, но получаю ошибку, когда использую Scons

"arm-none-eabi-gcc -g -mthumb -mlittle-endian -mcpu = cortex-m4 -mcpu = cortex-m4 -Wl, - start-group -lm -lc -Wl, - end-group -Wl , - gc-section -Wl, -Map, main.map -Tstm32_flash.ld -Wl, - entry = Reset_Handler -DSTM32F407xx -DUSE_STDPERIPH_DRIVER -I / home / minhtan / Downloads / STM32F4-Discovery_FW_V1.1.0 / Utilities / STM Discovery -I / home / minhtan / Downloads / STM32F4-Discovery_FW_V1.1.0 / Libraries / CMSIS / Include -I / home / minhtan / Downloads / STM32F4-Discovery_FW_V1.1.0 / Libraries / CMSIS / ST / STM32F4xx / Include -I / home / minhtan / Downloads / STM32F4-Discovery_FW_V1.1.0 / Libraries / STM32F4xx_StdPeriph_Driver / inc "-I / home / minhtan / Downloads / led (make file moi)" main.c -c -o main.o
sh: 1: arm-none-eabi-gcc: not found
scons: [main.o] Ошибка 127
scons: строительство прекращено из-за ошибок. "


person Thomson1608    schedule 11.08.2016    source источник
comment
Ну что, arm-none-eabi-gcc установлен?   -  person MSalters    schedule 11.08.2016
comment
Да, у меня установлен arm-none-eabi-gcc. версия gcc-arm-none-eabi-5_4-2016q2-20160622-linux, и я добавляю PATH в / etc / profile export PATH: $ PATH = / otc / gcc-arm-none-eabi-5_4-2016q2-20160622-linux / bin, но это ошибка   -  person Thomson1608    schedule 11.08.2016
comment
Можете ли вы ввести arm-none-eabi-gcc в командной строке? (чтобы проверить правильность установки PATH). Я имею в виду, /otc правильно? Это должно быть /opt?   -  person Galik    schedule 11.08.2016
comment
о, извините, в моем профиле / opt   -  person Thomson1608    schedule 11.08.2016
comment
в моих Scons есть: ** # Настройка кросс-компиляции ‹br/› cross_prefix = 'arm-none-eabi-' ‹br/› env.Replace (CC = cross_prefix + 'gcc') ‹br/› env.Replace (CXX = cross_prefix + 'g ++') ‹br/› env.Replace (LINK = cross_prefix + 'gcc') ‹br/› env.Replace (AR = cross_prefix + 'ar') ‹br/› env.Replace (RANLIB = cross_prefix) + 'ranlib') ‹br/› **   -  person Thomson1608    schedule 11.08.2016
comment
Если они не слишком длинные, возможно, стоит добавить к вашему вопросу Makefile, который работает, и файл Scons, который не работает.   -  person Galik    schedule 11.08.2016


Ответы (1)


Это похоже на ответ на № 1 из наших "наиболее часто задаваемых" часто задаваемых вопросов по адресу http://scons.org/faq.html может вам помочь. По умолчанию SCons не импортирует переменные типа $PATH из окружающей среды оболочки. Вы должны вытащить свой $PATH для правильного обнаружения arm-none-eabi-gcc исполняемого файла или явно указать полный путь к исполняемому файлу ... проверьте упомянутую запись в FAQ для более подробного обсуждения того, почему все так, как есть, и как предоставить необходимые $PATH определений в ваши среды сборки.

person dirkbaechle    schedule 11.08.2016
comment
dirkbaechle: когда я использовал ubuntu 14.04, он работал хорошо. но когда я использую ubuntu 16.04, это ошибка. Я думаю, причина кроется в версии ubuntu, использующей - person Thomson1608; 12.08.2016