This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

PROCESSOR-SDK-AM335X: CMake is unable to locate the specified C compiler at the given path

Part Number: PROCESSOR-SDK-AM335X


Tool/software:

getting this error while compiling the mind connect base code on tisdk9.1 -

Log data follows:

| DEBUG: Executing shell function do_compile
| -- The C compiler identification is unknown
| CMake Error at CMakeLists.txt:11 (PROJECT):
| The CMAKE_C_COMPILER:
|
| /home/administrator/app_dev/SEM3T_COM/toolchain/gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf//bin/arm-none-linux-gnueabihf-gcc
|
| is not a full path to an existing compiler tool.
|
| Tell CMake where to find the compiler by setting either the environment
| variable "CC" or the CMake cache entry CMAKE_C_COMPILER to the full path to
| the compiler, or to the compiler name if it is in the PATH.
|
|
| -- Configuring incomplete, errors occurred!
| See also "/home/administrator/app_dev/SEM3T_COM/build/arago-tmp-default-glibc/work/armv7at2hf-neon-oe-linux-gnueabi/mindconnect/4.3.1-r0/build/CMakeFiles/CMakeOutput.log".

  • Hi, 

    please check your path again. I see an possible issue with double backspace just before "bin" folder.

    /home/administrator/app_dev/SEM3T_COM/toolchain/gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf//bin/arm-none-linux-gnueabihf-gcc

    Otherwise please provide a full log so we can see what happened. We don't know what "mind connect base code" is.

    Regards, Frank

  • Thanks for your response. Since we are moving from TISDK 8.1 to TISDK 9.1, and since I don't have a toolchain directory in TISDK 9.1, this path isn't accessible in my code at the moment. I believe I may need to modify that path now, as I had it in the previous version of TISDK 8.1 and am using the same mindconnect library code now. nonetheless, can you kindly assist me in determining which path, for the GCC compiler, I should provide in this new TISDK 9.1?

  • i am getting this error now - 

    ERROR: mindconnect-1.0-r0 do_compile: ExecutionError('/home/administrator/rf-dev/SEM3T_COM/build/arago-tmp-default-glibc/work/armv7at2hf-neon-oe-linux-gnueabi/mindconnect/1.0-r0/temp/run.do_compile.1292502', 1, None, None)

    ERROR: Logfile of failure stored in: /home/administrator/rf-dev/SEM3T_COM/build/arago-tmp-default-glibc/work/armv7at2hf-neon-oe-linux-gnueabi/mindconnect/1.0-r0/temp/log.do_compile.1292502
    Log data follows:
    | DEBUG: Executing shell function do_compile
    | CMake Warning (dev) in CMakeLists.txt:
    |   No project() command is present.  The top-level CMakeLists.txt file must
    |   contain a literal, direct call to the project() command.  Add a line of
    |   code such as
    |
    |     project(ProjectName)
    |
    |   near the top of the file, but after cmake_minimum_required().
    |
    |   CMake is pretending there is a "project(Project)" command on the first
    |   line.
    | This warning is for project developers.  Use -Wno-dev to suppress it.
    |
    | -- The C compiler identification is unknown
    | -- The CXX compiler identification is GNU 11.4.0
    | CMake Error in CMakeLists.txt:
    |   The CMAKE_C_COMPILER:
    |
    |     /home/administrator/rf-dev/SEM3T_COM/toolchain/gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf//bin/arm-none-linux-gnueabihf-gcc
    |
    |   is not a full path to an existing compiler tool.
    |
    |   Tell CMake where to find the compiler by setting either the environment
    |   variable "CC" or the CMake cache entry CMAKE_C_COMPILER to the full path to
    |   the compiler, or to the compiler name if it is in the PATH.
    |
    |
    | -- Detecting CXX compiler ABI info
    | -- Detecting CXX compiler ABI info - done
    | -- Check for working CXX compiler: /home/administrator/rf-dev/SEM3T_COM/build/arago-tmp-default-glibc/work/armv7at2hf-neon-oe-linux-gnueabi/mindconnect/1.0-r0/recipe-sysroot-native/usr/bin/arm-oe-linux-gnueabi/arm-oe-linux-gnueabi-g++ - skipped
    | -- Detecting CXX compile features
    | -- Detecting CXX compile features - done
    | CMake Warning (dev) in CMakeLists.txt:
    |   No cmake_minimum_required command is present.  A line of code such as
    |
    |     cmake_minimum_required(VERSION 3.22)
    |
    |   should be added at the top of the file.  The version specified may be lower
    |   if you wish to support older CMake versions for this project.  For more
    |   information run "cmake --help-policy CMP0000".
    | This warning is for project developers.  Use -Wno-dev to suppress it.
    |
    | -- Configuring incomplete, errors occurred!
    Since there is no toolchain directory in TISDK 9.1, how can I search the above path in TISDK 9.1 for the GCC compiler that I am receiving the above error for? Could you please help me figure out which path I should provide now, in place of that one?
  • Hi Neha,

    did you follow the TI Yocto build guide?

    https://software-dl.ti.com/processor-sdk-linux-rt/esd/AM335X/09_01_00_001/exports/docs/linux/Overview_Building_the_SDK.html

    According to the E2E entry you quoted that will install the tools required. So if you can build the TI default file system I assume you can customize that for your needs by adding a custom recipe. Do you work with Manu Kumar?

    Regards, Frank

  • yes i work with manu kumar we are in same team. i have built the default TISDK 9.1 in my system.

  • so all the required tools should be on your machine. Can you try a search for a compiler binary for example? Unfortunately I have no such setup. 

  • i installed tisdk 9.1 and build the u-boot and kernel both successfully.

    this is the build folder where i am trying to path for c compiler for replacing toolchain path -

    from these directory which is relevant that i am checking and tried one path xxx.bb file

    and i am getting this error 

    modifying the .bb file is enough or cmake.txt also need a change ? or this path it self not correct ? if you aware please guide me here  

  • Hi Neha,

    I assume you are deviating from the Yocto build process. If you setup your own process it is difficult to help. But I suggest you check where the mach=armv5t comes from. You are using an ARMv7 compiler and that might not support that old architecture (ARM9 cores or so...). I also suggest you look at the SDK build logs. They should show all the correct compiler paths and options to compile for AM335x and it's Cortex-A8 core.

    Regards, Frank

  • You can refer to the file "$SDK_installation/Rules.make", which lists the toolchain to build u-boot/kernel... in AM335x Linux SDK 9.1
    "$SDK_installation/external-toolchain-dir"
    Best,
    -Hong

  • thanks frank and hong for your response.

    i realized i did not installed external toolchain in my system. when i followed those steps and i can see the toolchain path -

    and i followed this steps - 1.1.6. GCC ToolChain — Processor SDK Linux for AM335X Documentation

    and i have done necessary changes in .bb and cmake.txt files and its build successfully now without errors.

    Thanks.