espressif / idf-eclipse-plugin

Espressif-IDE (based on Eclipse CDT) for ESP-IDF CMake based projects 4.x and above
Eclipse Public License 2.0
300 stars 120 forks source link

Error Build All - 5.1 LCD RGB Example - using 2.9.1 Eclipse IDF IDE (IEP-1013) #807

Open marcusobrien opened 1 year ago

marcusobrien commented 1 year ago

Describe the bug The Build All of the RGB LCD exmaple fails when building inside the IDE, it fails after compiling the RGB LCD example.

The error looks like one of the arguments to the size checker has been set to null, and therefore it fails.

I am running the IDE from In Windows 10, but if I run an esp-idf terminal and then cd into the project folder

cd D:\workspaces2022\Espressif_IDE2.9.1\rgb_panel then run idf.py build It builds perfectly.

To Reproduce Steps to reproduce the behavior:

  1. Run an ESP-IDF 5.1 command shell
  2. Run the IDE exe eg. espressif-ide.exe
  3. Import the example folder from the Espressif 5.1 examples \Espressif\frameworks\esp-idf-v5.1\examples\peripherals\lcd\rgb_panel
  4. Build All fails
  5. Errors shown in Problem Occured Dialog

Errors occurred during the build. Errors running builder 'CDT Core Builder' on project 'rgb_panel'. Building rgb_panel java.lang.NullPointerException Building rgb_panel java.lang.NullPointerException

  1. Error is shown in Console

Building in: D:\workspaces2022\Espressif_IDE2.9.1\rgb_panel\build cmake --build . -- -v [1/4] cmd.exe /C "cd /D D:\workspaces2022\Espressif_IDE2.9.1\rgb_panel\build\esp-idf\esptool_py && python U:/Tools/Espressif/frameworks/esp-idf-v5.1/components/partition_table/check_sizes.py --offset 0x8000 partition --type app D:/workspaces2022/Espressif_IDE2.9.1/rgb_panel/build/partition_table/partition-table.bin D:/workspaces2022/Espressif_IDE2.9.1/rgb_panel/build/rgb_panel.bin" rgb_panel.bin binary size 0x65250 bytes. Smallest app partition is 0x100000 bytes. 0x9adb0 bytes (60%) free. [2/4] cmd.exe /C "cd /D D:\workspaces2022\Espressif_IDE2.9.1\rgb_panel\build\bootloader && U:\Tools\Espressif\tools\cmake\3.24.0\bin\cmake.exe --build ." [1/1] cmd.exe /C "cd /D D:\workspaces2022\Espressif_IDE2.9.1\rgb_panel\build\bootloader\esp-idf\esptool_py && python U:/Tools/Espressif/frameworks/esp-idf-v5.1/components/partition_table/check_sizes.py --offset 0x8000 bootloader 0x0 D:/workspaces2022/Espressif_IDE2.9.1/rgb_panel/build/bootloader/bootloader.bin" Bootloader binary size 0x5200 bytes. 0x2e00 bytes (36%) free. Build complete (0 errors, 0 warnings): D:\workspaces2022\Espressif_IDE2.9.1\rgb_panel\build null U:\Tools\Espressif\frameworks\esp-idf-v5.1\tools\idf_size.py D:/workspaces2022/Espressif_IDE2.9.1/rgb_panel/build/rgb_panel.map

I can see this problematic line

null U:\Tools\Espressif\frameworks\esp-idf-v5.1\tools\idf_size.py

Note if I do the following it works fine in the same folder, with the same project - just from running the idf.py build from the command line

  1. Run an ESP-IDF 5.1 command shell
  2. Change to the project folder cd U:\Tools\Espressif\frameworks\esp-idf-v5.1\examples\peripherals\lcd\rgb_panel
  3. run idf.py build

Expected behavior Build All should work with no failures

Screenshots image

Espressif-IDE Product Information: Espressif > Product Information (Copy content from the console and attach as a file)

Operating System: windows 10 Java Runtime Version: 17.0.6+10-LTS Eclipse Version: 4.25.0.v20220831-1800 Eclipse CDT Version: 10.7.1.202208160035 IDF Eclipse Plugin Version: 2.9.1.202304060814 ESP-IDF version cannot be checked. IDF_PATH or IDF_PYTHON_ENV_PATH are not set. Python set for IDF_PYTHON_ENV:

The above looks like some env variables are not set - but in the command window that I ran the IDE from python is in the path

D:\workspaces2022\Espressif_IDE2.9.1\rgb_panel>where python U:\Tools\Espressif\python_env\idf5.1_py3.11_env\Scripts\python.exe

And the IDF env vars are set

IDF_CCACHE_ENABLE=1 IDF_DEACTIVATE_FILE_PATH=C:\Users\marcu\AppData\Local\Temp\tmpialt0y74idf_14764 IDF_GIT=U:/Tools/Espressif/tools/idf-git/2.39.2/cmd/git.exe IDF_GIT_DIR=U:\Tools\Espressif\tools\idf-git\2.39.2\cmd\ IDF_PATH=U:\Tools\Espressif\frameworks\esp-idf-v5.1 IDF_PYTHON=U:/Tools/Espressif/python_env/idf5.1_py3.11_env/Scripts/python.exe IDF_PYTHON_DIR=U:\Tools\Espressif\python_env\idf5.1_py3.11_env\Scripts\ IDF_PYTHON_ENV_PATH=U:\Tools\Espressif\python_env\idf5.1_py3.11_env IDF_TOOLS_PATH=U:\Tools\Espressif

Eclipse Error log: Window > Show View > Other > Search for "Error Log" (Attach as a file)

Please attach the error log as described here https://github.com/espressif/idf-eclipse-plugin#error-log error1.log

sigmaaa commented 1 year ago

Hi @marcusobrien,

thank you for reporting this. Have you installed the Espressif IDE from the Windows offline installer? In that case, tools should be picked up automatically, but otherwise, tools have to be installed via IDE like this https://github.com/espressif/idf-eclipse-plugin#installing-esp-idf-tools.

ESP-IDF version cannot be checked. IDF_PATH or IDF_PYTHON_ENV_PATH are not set. Python set for IDF_PYTHON_ENV:

It looks like environment variables inside the IDE are not set. They should be set after tools installation from the IDE. You can check them by clicking: Window -> Preferences -> C/C++ -> Environment Let me know if that helps