# The CMAKE\_C\_COMPILER / CMAKE\_ASM\_COMPILER: arm-none-eabi-gcc is not a full path and was not found in the PATH.

**URL:** <https://discourse.cmake.org/t/the-cmake-c-compiler-cmake-asm-compiler-arm-none-eabi-gcc-is-not-a-full-path-and-was-not-found-in-the-path/10842>\
**Category:** Code\
**Created:** [May 11, 2024, 7:33pm UTC](https://discourse.cmake.org/t/the-cmake-c-compiler-cmake-asm-compiler-arm-none-eabi-gcc-is-not-a-full-path-and-was-not-found-in-the-path/10842 "2024-05-11T19:33:52Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Daniel\_Vollmer](https://discourse.cmake.org/user_avatar/discourse.cmake.org/daniel_vollmer/32/4590_2.png) [@Daniel\_Vollmer](https://discourse.cmake.org/u/Daniel_Vollmer)\
**Post date:** [May 11, 2024, 7:33pm UTC](https://discourse.cmake.org/t/the-cmake-c-compiler-cmake-asm-compiler-arm-none-eabi-gcc-is-not-a-full-path-and-was-not-found-in-the-path/10842/1 "2024-05-11T19:33:52Z")

</div>

Hello friends,

I’ve recently started working with CMake and have run into a problem that I’ve been sitting on for a few days and can’t find a solution to.

I have an application (based on a ThreadX RTOS) which I want to build with a Ninja build system. I have created a CMakeLists.txt file in my application directory.

In this CMakeLists.txt I include ThreadX as a library.  
_(It is worth mentioning that the ThreadX files are not located in a subfolder of my project but in a different directory)_

I get the following error message when I run cmake:  
_“The CMAKE\_C\_COMPILER: arm-none-eabi-gcc is not a full path and was not found in the PATH.”_  
_“The CMAKE\_ASM\_COMPILER: arm-none-eabi-gcc is not a full path and was not found in the PATH.”_

If I change the line inside the ThreadX CMakeLists.txt file:  
_“project(threadx LANGUAGES C ASM)”_  
to:  
_set(${PROJECT\_NAME} threadx)_

I get no error message and the Ninja build system is created. I am then also able to create a working executable via Ninja.

Everything runs inside a Docker container and when I look for the PATH variable inside a running container it gives me the following:  
“/work/gcc-arm-none-eabi-10.3-2021.10/bin”

Obviously the path to the toolchain is stored in the PATH variable in the Docker container.

I have added the line:  
_message(“PATH: $ENV{PATH}”)_

directly after the command:  
_cmake\_minimum\_required(VERSION 3.0.0 FATAL\_ERROR)_

inside the ThreadX CMakeLists.txt file and the output of CMake was:  
“/work/gcc-arm-none-eabi-10.3-2021.10/bin”

So CMake seems to find the toolchain PATH.

What am I doing wrong?  
Can you please help me with that?

Greetings Daniel V.

---

<div class="post-metadata">

**Author:** ![craig.scott](https://discourse.cmake.org/user_avatar/discourse.cmake.org/craig.scott/32/20_2.png) [@craig.scott](https://discourse.cmake.org/u/craig.scott)\
**Post date:** [May 11, 2024, 10:15pm UTC](https://discourse.cmake.org/t/the-cmake-c-compiler-cmake-asm-compiler-arm-none-eabi-gcc-is-not-a-full-path-and-was-not-found-in-the-path/10842/2 "2024-05-11T22:15:47Z")

</div>

Some things to try:

Enable the ASM language in your top level CMakeLists.txt file. You can just add ASM to the languages listed in the `project()` call within that file.

Take a look in the `CMakeFiles/CmakeConfigureLog.yaml` file in your build directory. Maybe there’s some clues in there that might uncover what’s happening.

---

<div class="post-metadata">

**Author:** ![Daniel\_Vollmer](https://discourse.cmake.org/user_avatar/discourse.cmake.org/daniel_vollmer/32/4590_2.png) [@Daniel\_Vollmer](https://discourse.cmake.org/u/Daniel_Vollmer)\
**Post date:** [May 12, 2024, 6:00am UTC](https://discourse.cmake.org/t/the-cmake-c-compiler-cmake-asm-compiler-arm-none-eabi-gcc-is-not-a-full-path-and-was-not-found-in-the-path/10842/3 "2024-05-12T06:00:26Z")

</div>

Hi Craig,

thanks for your quick response.  
The ASM language is already enabled in my top level CMakeLists.txt file.

project( Test\_Project  
VERSION 1.0.0  
LANGUAGES C ASM)

CMake has not created a yaml file in the output directory.  
It only created a cmake\_install.cmake file.
