espressif / esp-iot-bridge

A smart bridge to make both ESP and the other MCU or smart device can access the Internet.
156 stars 50 forks source link

Problem trying to build esp-iot-bridge examples (AEGHB-736) #81

Open imfatant opened 1 month ago

imfatant commented 1 month ago

I've been using VSCode under Windows with the ESP-IDF framework for a while, but I'm now trying out the esp-iot-bridge project. After using git clone https://github.com/espressif/esp-iot-bridge I cannot build any of the examples. When I try to select a target board, I get a whole bunch of errors.

Where am I supposed to put the esp-iot-bridge directory in relation to the ESP-IDF? And are there any Windows-specific environment variables that have to be set?

Here's some output from running idf.py menuconfig:

C:\Users\monster\esp\esp-iot-bridge\examples\wireless_nic>idf.py menuconfig
Executing action: menuconfig
Running cmake in directory C:\Users\monster\esp\esp-iot-bridge\examples\wireless_nic\build
Executing "cmake -G Ninja -DPYTHON_DEPS_CHECKED=1 -DPYTHON=C:\Users\monster\.espressif\python_env\idf5.2_py3.11_env\Scripts\python.exe -DESP_PLATFORM=1 -DCCACHE_ENABLE=1 C:\Users\monster\esp\esp-iot-bridge\examples\wireless_nic"...
-- IDF_TARGET not set, using default target: esp32
-- Found Git: C:/Users/monster/.espressif/tools/idf-git/2.44.0/cmd/git.exe (found version "2.44.0.windows.1")
-- ccache will be used for faster recompilation
-- The C compiler identification is GNU 13.2.0
-- The CXX compiler identification is GNU 13.2.0
-- The ASM compiler identification is GNU
-- Found assembler: C:/Users/monster/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20230928/xtensa-esp-elf/bin/xtensa-esp32-elf-gcc.exe
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/Users/monster/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20230928/xtensa-esp-elf/bin/xtensa-esp32-elf-gcc.exe - 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: C:/Users/monster/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20230928/xtensa-esp-elf/bin/xtensa-esp32-elf-g++.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Building ESP-IDF components for target esp32
Dependencies lock doesn't exist, solving dependencies.
NOTICE: Skipping optional dependency: usb_device
.Using component placed at C:\Users\monster\esp\esp-iot-bridge\components\iot_bridge for dependency espressif/iot_bridge(*), specified in C:/Users/monster/esp/esp-iot-bridge/examples/wireless_nic/main\idf_component.yml
.......HINT: Component "espressif/usb_host_cdc_acm" has suitable versions for other targets: "esp32s3", "esp32p4", "esp32s2". Is your current target "esp32" set correctly?
...HINT: Component "espressif/usb_host_cdc_acm" has suitable versions for other targets: "esp32s3", "esp32s2". Is your current target "esp32" set correctly?
.HINT: Component "espressif/tinyusb" has suitable versions for other targets: "esp32s3", "esp32p4", "esp32s2". Is your current target "esp32" set correctly?
..........Using component placed at C:\Users\monster\esp\esp-iot-bridge\components\iot_bridge for dependency espressif/iot_bridge(*), specified in C:/Users/monster/esp/esp-iot-bridge/examples/wireless_nic/main\idf_component.yml
....................CMake Error at C:/Users/monster/esp/v5.2.2/esp-idf/tools/cmake/build.cmake:544 (message):
  WARNING: Unknown string field "maintainers" in the manifest file

  WARNING: Dropping key "maintainers" from manifest.

  WARNING: Unknown string field "tags" in the manifest file

  WARNING: Dropping key "tags" from manifest.

  WARNING: Component "espressif/usb_host_cdc_acm" not found

  WARNING: Component "espressif/usb_host_cdc_acm" not found

  WARNING: Component "espressif/usb_host_cdc_acm" not found

  WARNING: Component "espressif/usb_host_cdc_acm" not found

  WARNING: Component "espressif/usb_host_cdc_acm" not found

  WARNING: Component "espressif/tinyusb" not found

  WARNING: Component "espressif/tinyusb" not found

  WARNING: Component "espressif/tinyusb" not found

  WARNING: Component "espressif/usb_host_cdc_acm" not found

  WARNING: Component "espressif/usb_host_cdc_acm" not found

  WARNING: Component "espressif/usb_host_cdc_acm" not found

  WARNING: Component "espressif/usb_host_cdc_acm" not found

  WARNING: Component "espressif/usb_host_cdc_acm" not found

  WARNING: Component "espressif/tinyusb" not found

  WARNING: Component "espressif/tinyusb" not found

  WARNING: Component "espressif/tinyusb" not found

  ERROR: Because wifi_prov_mgr (7314e05d6d129cc5f1c957c8eadea2ac2aa989d1)
  depends on espressif/qrcode (^0.1.0) which doesn't match any versions,
  wifi_prov_mgr is forbidden.

  So, because project depends on wifi_prov_mgr
  (7314e05d6d129cc5f1c957c8eadea2ac2aa989d1), version solving failed.

Call Stack (most recent call first):
  C:/Users/monster/esp/v5.2.2/esp-idf/tools/cmake/project.cmake:605 (idf_build_process)
  CMakeLists.txt:6 (project)

-- Configuring incomplete, errors occurred!
See also "C:/Users/monster/esp/esp-iot-bridge/examples/wireless_nic/build/CMakeFiles/CMakeOutput.log".
cmake failed with exit code 1

C:\Users\monster\esp\esp-iot-bridge\examples\wireless_nic>

Thanks :)

tswen commented 1 month ago

Please execute pip install idf-component-manager==1.4.1

imfatant commented 1 month ago

Hi,

I did that, and I'm afraid I'm still having the same problem. Here is the output of pip install idf-component-manager==1.4.1:

PS C:\Users\monster\esp\esp-iot-bridge\examples\wireless_nic> pip install idf-component-manager==1.4.1
Collecting idf-component-manager==1.4.1
  Downloading idf_component_manager-1.4.1-py2.py3-none-any.whl.metadata (11 kB)
Requirement already satisfied: packaging in c:\users\monster\.espressif\python_env\idf5.2_py3.11_env\lib\site-packages (from idf-component-manager==1.4.1) (24.1)
Requirement already satisfied: requests<3 in c:\users\monster\.espressif\python_env\idf5.2_py3.11_env\lib\site-packages (from idf-component-manager==1.4.1) (2.32.3)
Requirement already satisfied: urllib3<2 in c:\users\monster\.espressif\python_env\idf5.2_py3.11_env\lib\site-packages (from idf-component-manager==1.4.1) (1.26.19)
Requirement already satisfied: requests-file in c:\users\monster\.espressif\python_env\idf5.2_py3.11_env\lib\site-packages (from idf-component-manager==1.4.1) (1.5.1)
Requirement already satisfied: requests-toolbelt in c:\users\monster\.espressif\python_env\idf5.2_py3.11_env\lib\site-packages (from idf-component-manager==1.4.1) (1.0.0)
Requirement already satisfied: schema in c:\users\monster\.espressif\python_env\idf5.2_py3.11_env\lib\site-packages (from idf-component-manager==1.4.1) (0.7.5)
Requirement already satisfied: six in c:\users\monster\.espressif\python_env\idf5.2_py3.11_env\lib\site-packages (from idf-component-manager==1.4.1) (1.16.0)
Requirement already satisfied: tqdm<5 in c:\users\monster\.espressif\python_env\idf5.2_py3.11_env\lib\site-packages (from idf-component-manager==1.4.1) (4.66.4)
Requirement already satisfied: pyparsing in c:\users\monster\.espressif\python_env\idf5.2_py3.11_env\lib\site-packages (from idf-component-manager==1.4.1) (3.1.2)
Requirement already satisfied: colorama in c:\users\monster\.espressif\python_env\idf5.2_py3.11_env\lib\site-packages (from idf-component-manager==1.4.1) (0.4.6)
Requirement already satisfied: pyyaml>5.2 in c:\users\monster\.espressif\python_env\idf5.2_py3.11_env\lib\site-packages (from idf-component-manager==1.4.1) (6.0.1)
Requirement already satisfied: cachecontrol>0.12.6 in c:\users\monster\.espressif\python_env\idf5.2_py3.11_env\lib\site-packages (from cachecontrol[filecache]>0.12.6; python_version >= "3.6"->idf-component-manager==1.4.1) (0.14.0)
Requirement already satisfied: contextlib2>0.6.0 in c:\users\monster\.espressif\python_env\idf5.2_py3.11_env\lib\site-packages (from idf-component-manager==1.4.1) (21.6.0)
Requirement already satisfied: click in c:\users\monster\.espressif\python_env\idf5.2_py3.11_env\lib\site-packages (from idf-component-manager==1.4.1) (8.1.7)
Requirement already satisfied: msgpack<2.0.0,>=0.5.2 in c:\users\monster\.espressif\python_env\idf5.2_py3.11_env\lib\site-packages (from cachecontrol>0.12.6->cachecontrol[filecache]>0.12.6; python_version >= "3.6"->idf-component-manager==1.4.1) (1.0.8)
Requirement already satisfied: filelock>=3.8.0 in c:\users\monster\.espressif\python_env\idf5.2_py3.11_env\lib\site-packages (from cachecontrol[filecache]>0.12.6; python_version >= "3.6"->idf-component-manager==1.4.1) (3.15.3)
Requirement already satisfied: charset-normalizer<4,>=2 in c:\users\monster\.espressif\python_env\idf5.2_py3.11_env\lib\site-packages (from requests<3->idf-component-manager==1.4.1) (3.3.2)
Requirement already satisfied: idna<4,>=2.5 in c:\users\monster\.espressif\python_env\idf5.2_py3.11_env\lib\site-packages (from requests<3->idf-component-manager==1.4.1) (3.7)
Requirement already satisfied: certifi>=2017.4.17 in c:\users\monster\.espressif\python_env\idf5.2_py3.11_env\lib\site-packages (from requests<3->idf-component-manager==1.4.1) (2024.6.2)
Downloading idf_component_manager-1.4.1-py2.py3-none-any.whl (140 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 140.7/140.7 kB 4.2 MB/s eta 0:00:00
Installing collected packages: idf-component-manager
  Attempting uninstall: idf-component-manager
    Found existing installation: idf-component-manager 1.5.3
    Uninstalling idf-component-manager-1.5.3:
      Successfully uninstalled idf-component-manager-1.5.3
Successfully installed idf-component-manager-1.4.1

And here is the output of idf.py menuconfig:

PS C:\Users\monster\esp\esp-iot-bridge\examples\wireless_nic> idf.py menuconfig
Executing action: menuconfig
Running cmake in directory C:\Users\monster\esp\esp-iot-bridge\examples\wireless_nic\build
Executing "cmake -G Ninja -DPYTHON_DEPS_CHECKED=1 -DPYTHON=C:\Users\monster\.espressif\python_env\idf5.2_py3.11_env\Scripts\python.exe -DESP_PLATFORM=1 -DCCACHE_ENABLE=1 C:\Users\monster\esp\esp-iot-bridge\examples\wireless_nic"...
-- Found Git: C:/Users/monster/.espressif/tools/idf-git/2.39.2/cmd/git.exe (found version "2.39.2.windows.1") 
-- ccache will be used for faster recompilation
-- The C compiler identification is GNU 13.2.0
-- The CXX compiler identification is GNU 13.2.0
-- The ASM compiler identification is GNU
-- Found assembler: C:/Users/monster/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20230928/xtensa-esp-elf/bin/xtensa-esp32s3-elf-gcc.exe
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: C:/Users/monster/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20230928/xtensa-esp-elf/bin/xtensa-esp32s3-elf-gcc.exe - 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: C:/Users/monster/.espressif/tools/xtensa-esp-elf/esp-13.2.0_20230928/xtensa-esp-elf/bin/xtensa-esp32s3-elf-g++.exe - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Building ESP-IDF components for target esp32s3
Dependencies lock doesn't exist, solving dependencies.
NOTICE: Skipping optional dependency: usb_device
.Using component placed at C:\Users\monster\esp\esp-iot-bridge\components\iot_bridge for dependency espressif/iot_bridge(*), specified in C:/Users/monster/esp/esp-iot-bridge/examples/wireless_nic/main\idf_component.yml
NOTICE: Skipping optional dependency: espressif/esp_modem
.....CMake Error at C:/Users/monster/esp/v5.2.2/esp-idf/tools/cmake/build.cmake:544 (message):
  WARNING: Unknown string field "maintainers" in the manifest file

  WARNING: Dropping key "maintainers" from manifest.

  WARNING: Unknown string field "tags" in the manifest file

  WARNING: Dropping key "tags" from manifest.

  WARNING: Component "espressif/button" not found

  WARNING: Component "espressif/cmake_utilities" not found

  WARNING: Component "espressif/esp_modem_usb_dte" not found

  WARNING: Component "espressif/esp_tinyusb" not found

  WARNING: Component "espressif/qrcode" not found

  HINT: Please check manifest file of the following component(s): main

  ERROR: Because project depends on espressif/button (2.*) which doesn't
  match any versions, version solving failed.

Call Stack (most recent call first):
  C:/Users/monster/esp/v5.2.2/esp-idf/tools/cmake/project.cmake:605 (idf_build_process)
  CMakeLists.txt:6 (project)

-- Configuring incomplete, errors occurred!
See also "C:/Users/monster/esp/esp-iot-bridge/examples/wireless_nic/build/CMakeFiles/CMakeOutput.log".
cmake failed with exit code 1
adityanijave commented 1 month ago

have you got the solution of this issue?

imfatant commented 1 month ago

No...

imfatant commented 3 weeks ago

I a no closer to being able to compile any of these esp-iot-bridge examples. I have read all the guides. Could someone just help? PLEASE?

tswen commented 2 weeks ago

Hi, If you've already ensured that the idf-component-manager version is 1.4.1 and it's still not compiling, it's likely a network environment issue or an IDF environment problem. Do you have a Linux system available to test it on your side? Alternatively, you could try uninstalling and reinstalling the ESP-IDF environment on your Windows system.