Page 1 of 1

Build errors for ESP32-C3 and 3.3.0.0

Posted: Sat Jan 04, 2025 5:31 pm
by espmich
Build preparation

According to the SoC Compatability list I should use ESP-AT version 3.3.0.0 when building for my ESP32-C3 chip. So I prepared the build correctly like this:

Code: Select all

user@host:~$ git clone --recurse-submodules https://github.com/espressif/esp-at.git
user@host:~$ cd esp-at
user@host:~/esp-at$ git checkout v3.3.0.0
user@host:~/esp-at$ python build.py install
[...]
Platform name:
1. PLATFORM_ESP32
2. PLATFORM_ESP32C3
3. PLATFORM_ESP32C2
4. PLATFORM_ESP32C6
choose(range[1,4]):2

Module name:
1. MINI-1 (Firmware description: TX:7 RX:6)
2. ESP32C3-SPI (Firmware description: communicate with MCU via SPI)
3. ESP32C3_RAINMAKER (Firmware description: support rainmaker cloud, TX:7 RX:6)
choose(range[1,3]):2

Enable silence mode to remove some logs and reduce the firmware size?
0. No
1. Yes
choose(range[0,1]):0
[...]
Requirement already satisfied: ruamel.yaml.clib>=0.2.7 in $HOME/.espressif/python_env/idf5.3_py3.12_env/lib/python3.12/site-packages (from ruamel.yaml->idf-component-manager>=1.5.2->-r requirements.txt (line 11)) (0.2.12)
Using cached cryptography-3.4.8-cp36-abi3-manylinux_2_24_x86_64.whl (3.0 MB)
Installing collected packages: cryptography
  Attempting uninstall: cryptography
    Found existing installation: cryptography 36.0.2
    Uninstalling cryptography-36.0.2:
      Successfully uninstalled cryptography-36.0.2
Successfully installed cryptography-3.4.8

All done! You can now run:

  ./build.py build
Build command

Although everything looks good, when I try to build there is failure.

Code: Select all

user@host:~/esp-at$ ./build.py build
[...]
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Building ESP-IDF components for target esp32c3
Invalid field "dependencies:espressif/cmake_utilities:rules:[0]:if": Operator in only supports list of strings on the right side. Got "esp32c2"
CMake Error at esp-idf/tools/cmake/build.cmake:519 (message):
  ERROR: Manifest is not valid

Call Stack (most recent call first):
  esp-idf/tools/cmake/project.cmake:530 (idf_build_process)
  CMakeLists.txt:123 (project)


-- Configuring incomplete, errors occurred!
cmake failed with exit code 1, output of the command is in the $HOME/esp-at/build/log/idf_py_stderr_output_2371957 and $HOME/esp-at/build/log/idf_py_stdout_output_2371957
Output logs

If you want to see the two log files mentioned in the build error message, then here they are:

Code: Select all

cat idf_py_stderr_output_2371957

esp-at branch: HEAD
esp-at docs version: HEAD
no extra component dirs
CMake Error at esp-idf/tools/cmake/build.cmake:519 (message):
  ERROR: Manifest is not valid

Call Stack (most recent call first):
  esp-idf/tools/cmake/project.cmake:530 (idf_build_process)
  CMakeLists.txt:123 (project)

Code: Select all

cat idf_py_stdout_output_2371957

-- silence:0, sdkconfig:$HOME/esp-at/module_config/module_esp32c3-spi/sdkconfig.defaults
-- partition_table_dir: $HOME/esp-at
-- Found Git: /usr/bin/git (found version "2.43.0") 
-- Component directory $HOME/esp-at/components/fs_image does not contain a CMakeLists.txt file. No component will be added
-- The C compiler identification is GNU 11.2.0
-- The CXX compiler identification is GNU 11.2.0
-- The ASM compiler identification is GNU
-- Found assembler: $HOME/.espressif/tools/riscv32-esp-elf/esp-2022r1-11.2.0/riscv32-esp-elf/bin/riscv32-esp-elf-gcc
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: $HOME/.espressif/tools/riscv32-esp-elf/esp-2022r1-11.2.0/riscv32-esp-elf/bin/riscv32-esp-elf-gcc - skipped 
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: $HOME/.espressif/tools/riscv32-esp-elf/esp-2022r1-11.2.0/riscv32-esp-elf/bin/riscv32-esp-elf-g++ - skipped 
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Building ESP-IDF components for target esp32c3
Invalid field "dependencies:espressif/cmake_utilities:rules:[0]:if": Operator in only supports list of strings on the right side. Got "esp32c2"
-- Configuring incomplete, errors occurred!
Questions

What is wrong with my build procedure?

How can I properly build the ESP-AT project for my ESP32-C3 MCU?

Conclusion

Thanks gan xie ni for helping me properly build ESP-AT!