atanisoft / Esp32OlcbIO

ESP32 OpenLCB IO Board
9 stars 5 forks source link

Build error with ESP-IDF V5.1 #12

Open whoarreyou opened 2 weeks ago

whoarreyou commented 2 weeks ago

I have tried to run 'idf.py menuconfig' as per the build instructions but I am getting a dependency error as below.

Dependencies lock doesn't exist, solving dependencies. ..............CMake Error at C:/Espressif/frameworks/esp-idf-v5.1/tools/cmake/build.cmake:540 (message): ERROR: Because OpenMRNIDF (ec40a9bca38b87ca3a19a2b68bcf5fe8637fb487) depends on espressif/mdns (*) which doesn't match any versions, OpenMRNIDF is forbidden.

So, because project depends on OpenMRNIDF (ec40a9bca38b87ca3a19a2b68bcf5fe8637fb487), version solving failed.

Call Stack (most recent call first): C:/Espressif/frameworks/esp-idf-v5.1/tools/cmake/project.cmake:604 (idf_build_process) CMakeLists.txt:7 (project)

-- Configuring incomplete, errors occurred! See also "C:/Users/User/Documents/IOBoard/Esp32OlcbIO-master/Esp32OlcbIO-master/firmware/build/CMakeFiles/CMakeOutput.log". cmake failed with exit code 1

atanisoft commented 2 weeks ago

This looks like a bug in the ESP-IDF v5.1 dependency resolver and not specific to this repository / OpenMRNIDF. When I last tested this (~7mo ago) with ESP-IDF v5.1.x it was working correctly.

Are you using PlatformIO's version of ESP-IDF?

atanisoft commented 2 weeks ago

Also of note:

Processing 6 dependencies:
[1/6] HttpServer (c637c66f6261d8dc52ef0b55e7deb1b88d10306d)
[2/6] OpenMRNIDF (ec40a9bca38b87ca3a19a2b68bcf5fe8637fb487)
[3/6] espressif/esp_tinyusb (1.4.4)
[4/6] espressif/mdns (1.3.2)
[5/6] espressif/tinyusb (0.15.0~10)
[6/6] idf (5.2.2)

This is using ESP-IDF v5.2.2 (checked out tagged release of Espressif's repository) with OpenMRNIDF 5.1.0 branch listed as dependency

atanisoft commented 2 weeks ago

Can you check which version of the idf_component_manager you currently are using? You can check this by running $IDF_PYTHON_ENV_PATH/lib/python*/site-packages/idf_component_manager* and checking the Version line. If it is less than version 1.5.2 you likely will need to update it as that version fixed a few bugs in the version resolver.

This updated version is also included in ESP-IDF v1.5.3 or v1.5.4.

whoarreyou commented 2 weeks ago

Hi Mike, thanks for your help with this. Component manager version was 1.5.3. I was using the Espressif online installer, I tried several versions yesterday, all with the same results. I have now used the v5.2.2 offline installer and it has compiled and is working as expected. So I think you were correct, a bug or installation issue. Thanks again for your help.

atanisoft commented 2 weeks ago

Very interesting, I'll see if I can reproduce with the latest ESP-IDF v5.1.x tagged release. If it does reproduce I'll see if I can figure out what broke it.