← index #17987PR #16993
Related · high · value 1.996
QUERY · ISSUE

v1.26.0 error when building ESP32_C3

openby xuancong84opened 2025-08-26updated 2025-12-09
bug

Port, board and/or hardware

ESP32-C3

MicroPython version

Nonsense, cannot even build, how to run micropython??

Reproduction

Follow the instruction for building ESP32. At the last step, make works, but make BOARD=ESP32_GENERIC_C3 fails with error.

Expected behaviour

ESP32_GENERIC_C3 should be able to build.

Observed behaviour

$ make BOARD=ESP32_GENERIC_C3
Use make V=1 or set BUILD_VERBOSE in your environment to increase build verbosity.
Executing action: all (aliases: build)
Running cmake in directory /home/xuancong/projects/micropython-orig/ports/esp32/build-ESP32_GENERIC_C3
Executing "cmake -G Ninja -DPYTHON_DEPS_CHECKED=1 -DPYTHON=/home/xuancong/.espressif/python_env/idf5.4_py3.10_env/bin/python -DESP_PLATFORM=1 -DMICROPY_BOARD=ESP32_GENERIC_C3 -DMICROPY_BOARD_DIR=/home/xuancong/projects/micropython-orig/ports/esp32/boards/ESP32_GENERIC_C3 -DCCACHE_ENABLE=0 /home/xuancong/projects/micropython-orig/ports/esp32"...
-- Found Git: /usr/bin/git (found version "2.34.1") 
-- The C compiler identification is unknown
-- The CXX compiler identification is unknown
-- The ASM compiler identification is unknown
-- Found assembler: riscv32-esp-elf-gcc
CMake Error at /home/xuancong/projects/esp-idf/tools/cmake/project.cmake:571 (__project):
  The CMAKE_C_COMPILER:

    riscv32-esp-elf-gcc

  is not a full path and was not found in the PATH.

  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.
Call Stack (most recent call first):
  CMakeLists.txt:65 (project)


CMake Error at /home/xuancong/projects/esp-idf/tools/cmake/project.cmake:571 (__project):
  The CMAKE_CXX_COMPILER:

    riscv32-esp-elf-g++

  is not a full path and was not found in the PATH.

  Tell CMake where to find the compiler by setting either the environment
  variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full path
  to the compiler, or to the compiler name if it is in the PATH.
Call Stack (most recent call first):
  CMakeLists.txt:65 (project)


CMake Error at /home/xuancong/projects/esp-idf/tools/cmake/project.cmake:571 (__project):
  The CMAKE_ASM_COMPILER:

    riscv32-esp-elf-gcc

  is not a full path and was not found in the PATH.

  Tell CMake where to find the compiler by setting either the environment
  variable "ASM" or the CMake cache entry CMAKE_ASM_COMPILER to the full path
  to the compiler, or to the compiler name if it is in the PATH.
Call Stack (most recent call first):
  CMakeLists.txt:65 (project)


-- Warning: Did not find file Compiler/-ASM
-- Configuring incomplete, errors occurred!
See also "/home/xuancong/projects/micropython-orig/ports/esp32/build-ESP32_GENERIC_C3/CMakeFiles/CMakeOutput.log".
See also "/home/xuancong/projects/micropython-orig/ports/esp32/build-ESP32_GENERIC_C3/CMakeFiles/CMakeError.log".
HINT: Try to reinstall the toolchain for the chip that you trying to use. 
For more information run 'idf.py docs -sp get-started/#installation' and follow the instructions for your system
cmake failed with exit code 1, output of the command is in the /home/xuancong/projects/micropython-orig/ports/esp32/build-ESP32_GENERIC_C3/log/idf_py_stderr_output_31507 and /home/xuancong/projects/micropython-orig/ports/esp32/build-ESP32_GENERIC_C3/log/idf_py_stdout_output_31507
-e See https://github.com/micropython/micropython/wiki/Build-Troubleshooting
make: *** [Makefile:77: all] Error 1

Additional Information

No, I've provided everything above.

Code of Conduct

Yes, I agree

CANDIDATE · PULL REQUEST

esp32/esp32_common.cmake: RISC-V improvements.

mergedby agattiopened 2025-03-22updated 2025-04-03
port-esp32

Summary

This PR contains some RISC-V specific improvements to the ESP32 port's build script.

The main change is the migration of the ESP32C3/ESP32C6 gchelper implementation over to the native version. This is to make the RISC-V boards' behaviour in line with what most other ports do, and to follow the request found in the generic gchelper source file: to use the native version if possible. This should also be compatible with future ESP32C2 board support, as the RISC-V CPU version in use is the same as the ESP32C6.

Two other changes perform some minor cleanup work by removing obsolete directives, with the last providing the proper architecture name to mpy-cross when needed. The old implementation did that only for Xtensa.

Testing

A build for ESP32_GENERIC_C3 was built without errors and the full test suite was run on an ESP32C3 board with the exactly same behaviour: machine_i2s_rate fails on my board both with current master and with my changes.

Keyboard

j / / n
next pair
k / / p
previous pair
1 / / h
show query pane
2 / / l
show candidate pane
c
copy suggested comment
r
toggle reasoning
g i
go to index
?
show this help
esc
close overlays

press ? or esc to close

copied