Arm-none-eabi-gcc: error: CreateProcess: No such file or directory

I am trying to build the ODrive firmware in Visual Studio Code and I have run into a problem where it starts to build but is not able to complete successfully. The error I get is “arm-none-eabi-gcc: error: CreateProcess: No such file or directory” (as shown below).

I have ensured that all of my paths are set up correctly and I have all of the required dependencies installed, so I’m not too sure what else it could be. If you’re able to help, it would be greatly appreciated.

-----------------------------Terminal readout from trying to build----------------------------

* 82) arm-none-eabi-gcc -std=c99 -c Board/v3/Src/tim.c -DHW_VERSION_MAJOR=3 -DHW_VERSION_MINOR=5 -DHW_VERSION_VOLTAGE=24 -DUSB_PROTOCOL_NATIVE -DUART_PROTOCOL_ASCII -D__weak="__attribute__((weak))" -D__packed="__attribute__((__packed__))" -DUSE_HAL_DRIVER -DSTM32F405xx -mthumb -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -Wall -Wdouble-promotion -Wfloat-conversion -fdata-sections -ffunction-sections -g -gdwarf-2 -Og -ffast-math -fno-finite-math-only -IBoard/v3/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F -IBoard/v3/Middlewares/Third_Party/FreeRTOS/Source/include -IBoard/v3/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS -IBoard/v3/Middlewares/ST/STM32_USB_Device_Library/Core/Inc -IBoard/v3/Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Inc -IBoard/v3/Drivers/STM32F4xx_HAL_Driver/Inc -IBoard/v3/Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -IBoard/v3/Drivers/CMSIS/Device/ST/STM32F4xx/Include -IBoard/v3/Drivers/CMSIS/Include -IBoard/v3/Inc -I. -IDrivers/DRV8301  -o build/Board_v3_Src_tim.c.o
arm-none-eabi-gcc: error: CreateProcess: No such file or directory
 *** tup messages ***
 *** Command ID=367 failed with return value 1
* 81) arm-none-eabi-gcc -std=c99 -c Board/v3/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_pwr_ex.c -DHW_VERSION_MAJOR=3 -DHW_VERSION_MINOR=5 -DHW_VERSION_VOLTAGE=24 -DUSB_PROTOCOL_NATIVE -DUART_PROTOCOL_ASCII -D__weak="__attribute__((weak))" -D__packed="__attribute__((__packed__))" -DUSE_HAL_DRIVER -DSTM32F405xx -mthumb -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -Wall -Wdouble-promotion -Wfloat-conversion -fdata-sections -ffunction-sections -g -gdwarf-2 -Og -ffast-math -fno-finite-math-only -IBoard/v3/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F -IBoard/v3/Middlewares/Third_Party/FreeRTOS/Source/include -IBoard/v3/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS -IBoard/v3/Middlewares/ST/STM32_USB_Device_Library/Core/Inc -IBoard/v3/Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Inc -IBoard/v3/Drivers/STM32F4xx_HAL_Driver/Inc -IBoard/v3/Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -IBoard/v3/Drivers/CMSIS/Device/ST/STM32F4xx/Include -IBoard/v3/Drivers/CMSIS/Include -IBoard/v3/Inc -I. -IDrivers/DRV8301  -o build/Board_v3_Drivers_STM32F4xx_HAL_Driver_Src_stm32f4xx_hal_pwr_ex.c.o
arm-none-eabi-gcc: error: CreateProcess: No such file or directory
 *** tup messages ***
 *** Command ID=363 failed with return value 1
* 80) arm-none-eabi-gcc -std=c99 -c Board/v3/Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c -DHW_VERSION_MAJOR=3 -DHW_VERSION_MINOR=5 -DHW_VERSION_VOLTAGE=24 -DUSB_PROTOCOL_NATIVE -DUART_PROTOCOL_ASCII -D__weak="__attribute__((weak))" -D__packed="__attribute__((__packed__))" -DUSE_HAL_DRIVER -DSTM32F405xx -mthumb -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -Wall -Wdouble-promotion -Wfloat-conversion -fdata-sections -ffunction-sections -g -gdwarf-2 -Og -ffast-math -fno-finite-math-only -IBoard/v3/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F -IBoard/v3/Middlewares/Third_Party/FreeRTOS/Source/include -IBoard/v3/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS -IBoard/v3/Middlewares/ST/STM32_USB_Device_Library/Core/Inc -IBoard/v3/Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Inc -IBoard/v3/Drivers/STM32F4xx_HAL_Driver/Inc -IBoard/v3/Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -IBoard/v3/Drivers/CMSIS/Device/ST/STM32F4xx/Include -IBoard/v3/Drivers/CMSIS/Include -IBoard/v3/Inc -I. -IDrivers/DRV8301  -o build/Board_v3_Middlewares_ST_STM32_USB_Device_Library_Core_Src_usbd_ioreq.c.o
arm-none-eabi-gcc: error: CreateProcess: No such file or directory
 *** tup messages ***
 *** Command ID=353 failed with return value 1
* 79) arm-none-eabi-gcc -std=c99 -c Board/v3/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_tim_ex.c -DHW_VERSION_MAJOR=3 -DHW_VERSION_MINOR=5 -DHW_VERSION_VOLTAGE=24 -DUSB_PROTOCOL_NATIVE -DUART_PROTOCOL_ASCII -D__weak="__attribute__((weak))" -D__packed="__attribute__((__packed__))" -DUSE_HAL_DRIVER -DSTM32F405xx -mthumb -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -Wall -Wdouble-promotion -Wfloat-conversion -fdata-sections -ffunction-sections -g -gdwarf-2 -Og -ffast-math -fno-finite-math-only -IBoard/v3/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F -IBoard/v3/Middlewares/Third_Party/FreeRTOS/Source/include -IBoard/v3/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS -IBoard/v3/Middlewares/ST/STM32_USB_Device_Library/Core/Inc -IBoard/v3/Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Inc -IBoard/v3/Drivers/STM32F4xx_HAL_Driver/Inc -IBoard/v3/Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -IBoard/v3/Drivers/CMSIS/Device/ST/STM32F4xx/Include -IBoard/v3/Drivers/CMSIS/Include -IBoard/v3/Inc -I. -IDrivers/DRV8301  -o build/Board_v3_Drivers_STM32F4xx_HAL_Driver_Src_stm32f4xx_hal_tim_ex.c.o
arm-none-eabi-gcc: error: CreateProcess: No such file or directory
 *** tup messages ***
 *** Command ID=369 failed with return value 1
* 78) arm-none-eabi-gcc -std=c99 -c Board/v3/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_cortex.c -DHW_VERSION_MAJOR=3 -DHW_VERSION_MINOR=5 -DHW_VERSION_VOLTAGE=24 -DUSB_PROTOCOL_NATIVE -DUART_PROTOCOL_ASCII -D__weak="__attribute__((weak))" -D__packed="__attribute__((__packed__))" -DUSE_HAL_DRIVER -DSTM32F405xx -mthumb -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -Wall -Wdouble-promotion -Wfloat-conversion -fdata-sections -ffunction-sections -g -gdwarf-2 -Og -ffast-math -fno-finite-math-only -IBoard/v3/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F -IBoard/v3/Middlewares/Third_Party/FreeRTOS/Source/include -IBoard/v3/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS -IBoard/v3/Middlewares/ST/STM32_USB_Device_Library/Core/Inc -IBoard/v3/Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Inc -IBoard/v3/Drivers/STM32F4xx_HAL_Driver/Inc -IBoard/v3/Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -IBoard/v3/Drivers/CMSIS/Device/ST/STM32F4xx/Include -IBoard/v3/Drivers/CMSIS/Include -IBoard/v3/Inc -I. -IDrivers/DRV8301  -o build/Board_v3_Drivers_STM32F4xx_HAL_Driver_Src_stm32f4xx_hal_cortex.c.o
arm-none-eabi-gcc: error: CreateProcess: No such file or directory
 *** tup messages ***
 *** Command ID=339 failed with return value 1
* 77) arm-none-eabi-gcc -std=c99 -c Board/v3/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_ll_usb.c -DHW_VERSION_MAJOR=3 -DHW_VERSION_MINOR=5 -DHW_VERSION_VOLTAGE=24 -DUSB_PROTOCOL_NATIVE -DUART_PROTOCOL_ASCII -D__weak="__attribute__((weak))" -D__packed="__attribute__((__packed__))" -DUSE_HAL_DRIVER -DSTM32F405xx -mthumb -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -Wall -Wdouble-promotion -Wfloat-conversion -fdata-sections -ffunction-sections -g -gdwarf-2 -Og -ffast-math -fno-finite-math-only -IBoard/v3/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F -IBoard/v3/Middlewares/Third_Party/FreeRTOS/Source/include -IBoard/v3/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS -IBoard/v3/Middlewares/ST/STM32_USB_Device_Library/Core/Inc -IBoard/v3/Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Inc -IBoard/v3/Drivers/STM32F4xx_HAL_Driver/Inc -IBoard/v3/Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -IBoard/v3/Drivers/CMSIS/Device/ST/STM32F4xx/Include -IBoard/v3/Drivers/CMSIS/Include -IBoard/v3/Inc -I. -IDrivers/DRV8301  -o build/Board_v3_Drivers_STM32F4xx_HAL_Driver_Src_stm32f4xx_ll_usb.c.o
arm-none-eabi-gcc: error: CreateProcess: No such file or directory
 *** tup messages ***
 *** Command ID=365 failed with return value 1
* 76) arm-none-eabi-gcc -std=c99 -c Board/v3/Drivers/STM32F4xx_HAL_Driver/Src/stm32f4xx_hal_can.c -DHW_VERSION_MAJOR=3 -DHW_VERSION_MINOR=5 -DHW_VERSION_VOLTAGE=24 -DUSB_PROTOCOL_NATIVE -DUART_PROTOCOL_ASCII -D__weak="__attribute__((weak))" -D__packed="__attribute__((__packed__))" -DUSE_HAL_DRIVER -DSTM32F405xx -mthumb -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -Wall -Wdouble-promotion -Wfloat-conversion -fdata-sections -ffunction-sections -g -gdwarf-2 -Og -ffast-math -fno-finite-math-only -IBoard/v3/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F -IBoard/v3/Middlewares/Third_Party/FreeRTOS/Source/include -IBoard/v3/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS -IBoard/v3/Middlewares/ST/STM32_USB_Device_Library/Core/Inc -IBoard/v3/Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Inc -IBoard/v3/Drivers/STM32F4xx_HAL_Driver/Inc -IBoard/v3/Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -IBoard/v3/Drivers/CMSIS/Device/ST/STM32F4xx/Include -IBoard/v3/Drivers/CMSIS/Include -IBoard/v3/Inc -I. -IDrivers/DRV8301  -o build/Board_v3_Drivers_STM32F4xx_HAL_Driver_Src_stm32f4xx_hal_can.c.o
arm-none-eabi-gcc: error: CreateProcess: No such file or directory
 *** tup messages ***
 *** Command ID=361 failed with return value 1
* 75) arm-none-eabi-gcc -std=c99 -c Board/v3/Src/stm32f4xx_hal_timebase_TIM.c -DHW_VERSION_MAJOR=3 -DHW_VERSION_MINOR=5 -DHW_VERSION_VOLTAGE=24 -DUSB_PROTOCOL_NATIVE -DUART_PROTOCOL_ASCII -D__weak="__attribute__((weak))" -D__packed="__attribute__((__packed__))" -DUSE_HAL_DRIVER -DSTM32F405xx -mthumb -mcpu=cortex-m4 -mfpu=fpv4-sp-d16 -mfloat-abi=hard -Wall -Wdouble-promotion -Wfloat-conversion -fdata-sections -ffunction-sections -g -gdwarf-2 -Og -ffast-math -fno-finite-math-only -IBoard/v3/Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM4F -IBoard/v3/Middlewares/Third_Party/FreeRTOS/Source/include -IBoard/v3/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS -IBoard/v3/Middlewares/ST/STM32_USB_Device_Library/Core/Inc -IBoard/v3/Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Inc -IBoard/v3/Drivers/STM32F4xx_HAL_Driver/Inc -IBoard/v3/Drivers/STM32F4xx_HAL_Driver/Inc/Legacy -IBoard/v3/Drivers/CMSIS/Device/ST/STM32F4xx/Include -IBoard/v3/Drivers/CMSIS/Include -IBoard/v3/Inc -I. -IDrivers/DRV8301  -o build/Board_v3_Src_stm32f4xx_hal_timebase_TIM.c.o
arm-none-eabi-gcc: error: CreateProcess: No such file or directory
 *** tup messages ***
 *** Command ID=359 failed with return value 1
 [                          ETA~=6s  Remaining=75 Active=0                           ]   9%
 *** tup: 8 jobs failed.
make: *** [all] Error 1
The terminal process terminated with exit code: 1

What do you get if you type arm-none-eabi-gcc --version into a command prompt?

This is what I get

Which terminal did you try building in? Which terminal did you find arm-none-eabi-gcc in? Can you try to run make in the Firmware folder where you found the compiler?

If that works, then maybe that can give you a hint to try to solve this PATH issue. Note that most programs will need a restart to read the PATH environment variable again.

I’ve tried building it in Visual Studio Code, Powershell, and Git Bash by running make. As a note, arm-none-eabi-gcc seems to work in all of them when I run arm-none-eabi-gcc --version. I have restarted both the programs and my computer to see if that would do anything, however, it seems to still not be working. The screenshots attached show the output I get from trying to run make in the firmware folder in Git Bash.

Hm very odd. One thing to double check is if all the other companion programs to arm-none-eabi-gcc are there. In bash type arm-none-eabi- then press tab twice.

You should see something like this:

If that all looks correct and it still doesn’t work, I don’t know what could be wrong. Maybe try reinstalling it? Try a different version?

I also got this problem before.Then I git clone source again.Somehow,it worked.There’s no problem now.Maybe you can try.

I have got this problem too. Then I git clone source again, the other problem happened

I have struggled with the same problem for days. However, I solved it by the tup command occasionally.

Just run “tup” command under the Firmware folder and it will start the building progress! After that, the “make” command will work again without bumping the errors.

3 Likes