espressif / vscode-esp-idf-extension

Visual Studio Code extension for ESP-IDF projects
Apache License 2.0
1.02k stars 298 forks source link

installed ESP-IDF tools are not detected (VSC-1256) #1092

Closed dyarkovoy closed 9 months ago

dyarkovoy commented 9 months ago

OS

Windows

Operating System version

Microsoft Windows [Version 10.0.22631.2715]

Visual Studio Code version

1.85.0

ESP-IDF version

v5.1.2,master

Python version

3.11.3

Doctor command output

---------------------------------------------- ESP-IDF Extension for Visual Studio Code report --------------------------------------------- OS win32 x64 10.0.22631 System environment variable IDF_PYTHON_ENV_PATH undefined System environment variable PATH C:\Program Files\Common Files\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files\PuTTY\;C:\Program Files (x86)\Microsoft Emulator Manager\1.0\;C:\Program Files\CMake\bin;C:\Program Files\dotnet\;C:\Program Files\Git\cmd;C:\Program Files\nodejs\;C:\Program Files (x86)\Bitvise SSH Client;C:\AppData\Local\Microsoft\WindowsApps;C:\AppData\Local\Programs\Microsoft VS Code\bin;C:\Program Files (x86)\Nmap;C:\AppData\Local\JetBrains\Toolbox\scripts;C:\AppData\Local\Programs\Python\Python311;C:\AppData\Local\gitkraken\bin;C:\AppData\Local\GitHubDesktop\bin;c:\work\tools;C:\AppData\Roaming\npm; System environment variable PYTHON undefined Visual Studio Code version 1.85.0 Visual Studio Code language en Visual Studio Code shell C:\WINDOWS\System32\WindowsPowerShell\v1.0\powershell.exe ESP-IDF Extension version 1.6.5 Workspace folder c:\work\clients\alm\alm-x2 ---------------------------------------------------- Extension configuration settings ------------------------------------------------------ ESP-ADF Path (idf.espAdfPath) ${env:ADF_PATH} ESP-IDF Path (idf.espIdfPath) C:\work\esp32\esp-idf ESP-MDF Path (idf.espMdfPath) ${env:MDF_PATH} ESP-Matter Path (idf.espMatterPath) ${env:ESP_MATTER_PATH} Custom extra paths (idf.customExtraPaths) c:\work\esp32.espressif\tools\xtensa-esp-elf-gdb\12.1_20231023\xtensa-esp-elf-gdb\bin;c:\work\esp32.espressif\tools\riscv32-esp-elf-gdb\12.1_20231023\riscv32-esp-elf-gdb\bin;c:\work\esp32.espressif\tools\xtensa-esp-elf\esp-13.2.0_20230928\xtensa-esp-elf\bin;c:\work\esp32.espressif\tools\riscv32-esp-elf\esp-13.2.0_20230928\riscv32-esp-elf\bin;c:\work\esp32.espressif\tools\esp32ulp-elf\2.35_20220830\esp32ulp-elf\bin;c:\work\esp32.espressif\tools\cmake\3.24.0\bin;c:\work\esp32.espressif\tools\openocd-esp32\v0.12.0-esp32-20230921\openocd-esp32\bin;c:\work\esp32.espressif\tools\ninja\1.11.1;c:\work\esp32.espressif\tools\idf-exe\1.0.3;c:\work\esp32.espressif\tools\ccache\4.8\ccache-4.8-windows-x86_64;c:\work\esp32.espressif\tools\dfu-util\0.11\dfu-util-0.11-win64;c:\work\esp32.espressif\tools\esp-rom-elfs\20230320 Custom extra vars (idf.customExtraVars) OPENOCD_SCRIPTS: c:\work\esp32.espressif\tools\openocd-esp32\v0.12.0-esp32-20230921/openocd-esp32/share/openocd/scripts IDF_CCACHE_ENABLE: 1 ESP_ROM_ELF_DIR: c:\work\esp32.espressif\tools\esp-rom-elfs\20230320/ Virtual env Python Path (idf.pythonBinPath) C:\work\esp32.espressif\python_env\idf5.3_py3.11_env\Scripts\python.exe Serial port (idf.port) COM4 OpenOCD Configs (idf.openOcdConfigs) interface/ftdi/esp32_devkitj_v1.cfg,target/esp32s3.cfg ESP-IDF Tools Path (idf.toolsPath) c:\work\esp32.espressif Git Path (idf.gitPath) c:\work\esp32.espressif\tools\idf-git\2.39.2\cmd\git.exe -------------------------------------------------------- Configurations access ------------------------------------------------------------- Access to ESP-ADF Path (idf.espAdfPath) false Access to ESP-IDF Path (idf.espIdfPath) true Access to ESP-MDF Path (idf.espMdfPath) false Access to ESP-Matter Path (idf.espMatterPath) false Access to ESP-IDF Custom extra paths Access to c:\work\esp32.espressif\tools\xtensa-esp-elf-gdb\12.1_20231023\xtensa-esp-elf-gdb\bin: true Access to c:\work\esp32.espressif\tools\riscv32-esp-elf-gdb\12.1_20231023\riscv32-esp-elf-gdb\bin: true Access to c:\work\esp32.espressif\tools\xtensa-esp-elf\esp-13.2.0_20230928\xtensa-esp-elf\bin: true Access to c:\work\esp32.espressif\tools\riscv32-esp-elf\esp-13.2.0_20230928\riscv32-esp-elf\bin: true Access to c:\work\esp32.espressif\tools\esp32ulp-elf\2.35_20220830\esp32ulp-elf\bin: true Access to c:\work\esp32.espressif\tools\cmake\3.24.0\bin: true Access to c:\work\esp32.espressif\tools\openocd-esp32\v0.12.0-esp32-20230921\openocd-esp32\bin: true Access to c:\work\esp32.espressif\tools\ninja\1.11.1: true Access to c:\work\esp32.espressif\tools\idf-exe\1.0.3: true Access to c:\work\esp32.espressif\tools\ccache\4.8\ccache-4.8-windows-x86_64: true Access to c:\work\esp32.espressif\tools\dfu-util\0.11\dfu-util-0.11-win64: true Access to c:\work\esp32.espressif\tools\esp-rom-elfs\20230320: true Access to Virtual env Python Path (idf.pythonBinPath) true Access to CMake in environment PATH undefined Access to Ninja in environment PATH undefined Access to ESP-IDF Tools Path (idf.toolsPath) true -------------------------------------------------------- Configurations has spaces ------------------------------------------------------------- Spaces in system environment Path true Spaces in ESP-ADF Path (idf.espAdfPath) false Spaces in ESP-IDF Path (idf.espIdfPath) false Spaces in ESP-MDF Path (idf.espMdfPath) false Spaces in ESP-Matter Path (idf.espMatterPath) false Spaces in ESP-IDF Custom extra paths Spaces in c:\work\esp32.espressif\tools\xtensa-esp-elf-gdb\12.1_20231023\xtensa-esp-elf-gdb\bin: false Spaces in c:\work\esp32.espressif\tools\riscv32-esp-elf-gdb\12.1_20231023\riscv32-esp-elf-gdb\bin: false Spaces in c:\work\esp32.espressif\tools\xtensa-esp-elf\esp-13.2.0_20230928\xtensa-esp-elf\bin: false Spaces in c:\work\esp32.espressif\tools\riscv32-esp-elf\esp-13.2.0_20230928\riscv32-esp-elf\bin: false Spaces in c:\work\esp32.espressif\tools\esp32ulp-elf\2.35_20220830\esp32ulp-elf\bin: false Spaces in c:\work\esp32.espressif\tools\cmake\3.24.0\bin: false Spaces in c:\work\esp32.espressif\tools\openocd-esp32\v0.12.0-esp32-20230921\openocd-esp32\bin: false Spaces in c:\work\esp32.espressif\tools\ninja\1.11.1: false Spaces in c:\work\esp32.espressif\tools\idf-exe\1.0.3: false Spaces in c:\work\esp32.espressif\tools\ccache\4.8\ccache-4.8-windows-x86_64: false Spaces in c:\work\esp32.espressif\tools\dfu-util\0.11\dfu-util-0.11-win64: false Spaces in c:\work\esp32.espressif\tools\esp-rom-elfs\20230320: false Spaces in Virtual env Python Path (idf.pythonBinPath) false Spaces in ESP-IDF Tools Path (idf.toolsPath) false ----------------------------------------------------------- Executables Versions ----------------------------------------------------------- Git version 2.39.2.windows.1 ESP-IDF version 5.3.0 Python version 3.11.3 Python's pip version 23.3.1 -------------------------------------------------- Project configuration settings ---------------------------------------------------------- -------------------------------------------------- Python packages in idf.pythonBinPath ---------------------------------------------------- bitarray version: 2.8.4 bitstring version: 4.1.4 CacheControl version: 0.13.1 certifi version: 2023.11.17 cffi version: 1.16.0 charset-normalizer version: 3.3.2 click version: 8.1.7 colorama version: 0.4.6 construct version: 2.10.69 contextlib2 version: 21.6.0 cryptography version: 41.0.7 ecdsa version: 0.18.0 esp-coredump version: 1.9.0 esp-debug-backend version: 1.0.3 esp-idf-kconfig version: 2.0.1 esp-idf-monitor version: 1.3.4 esp-idf-panic-decoder version: 0.2.0 esp-idf-size version: 1.0.1 esptool version: 4.7.dev3 filelock version: 3.13.1 freertos-gdb version: 1.0.2 idf-component-manager version: 1.4.1 idna version: 3.6 intelhex version: 2.3.0 kconfiglib version: 14.1.0 markdown-it-py version: 3.0.0 mdurl version: 0.1.2 msgpack version: 1.0.7 packaging version: 23.2 pip version: 23.3.1 pyclang version: 0.4.2 pycparser version: 2.21 pyelftools version: 0.30 pygdbmi version: 0.9.0.2 Pygments version: 2.17.2 pyparsing version: 3.1.1 pypiwin32 version: 223 pyserial version: 3.5 pywin32 version: 306 PyYAML version: 6.0.1 reedsolo version: 1.7.0 requests version: 2.31.0 requests-file version: 1.5.1 requests-toolbelt version: 1.0.0 rich version: 13.7.0 schema version: 0.7.5 setuptools version: 69.0.2 six version: 1.16.0 tqdm version: 4.66.1 urllib3 version: 1.26.18 ---------------------------------------------------- Check ESP-IDF python requirements.txt ------------------------------------------------- Check ESP-IDF Python packages Python requirements are satisfied. ---------------------------------------------------- Check extension requirements.txt ------------------------------------------------------ Check Extension Python packages Error ---------------------------------------------------- Check ESP-IDF debug adapter requirements.txt ------------------------------------------ Check Debug AdapterPython packages Python requirements are satisfied. ---------------------------------------------------- Visual Studio Code launch.json -------------------------------------------------------- { // Use IntelliSense to learn about possible attributes. // Hover to view descriptions of existing attributes. // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "name": "ESP-IDF Debug: Launch", "type": "espidf", "request": "launch" } ] }

---------------------------------------------------- Visual Studio Code c_cpp_properties.json ---------------------------------------------- { "configurations": [ { "name": "Win32", "includePath": [ "${workspaceFolder}/**" ], "defines": [ "_DEBUG", "UNICODE", "_UNICODE" ], "cStandard": "c17", "cppStandard": "gnu++17", "intelliSenseMode": "windows-gcc-x86", "compileCommands": "${workspaceFolder}/build/compile_commands.json" } ], "version": 4 } ----------------------------------------------------------- Latest error ----------------------------------------------------------------- Latest error at Unknown error in ESP-IDF doctor command

Extension

No response

Description

ESP-IDF tools are installed and working properly with idf.py commands, but the extension does not detect them:

image image

Debug Message

Not relevant

Other Steps to Reproduce

I tracked it down to this line: https://github.com/dyarkovoy/vscode-esp-idf-extension/blob/f549deda8116673b1564d0f2e50cd77904344cca/src/idfToolsManager.ts#L207

My process.env PATH variable has all letters in upper case. For some reason, this line assumes that on Windows PATH variable is "Path", which is not true, at least not on my Windows. Even though process.env keys are case-insensitive, the actual glitch occurs on this line: https://github.com/dyarkovoy/vscode-esp-idf-extension/blob/f549deda8116673b1564d0f2e50cd77904344cca/src/idfToolsManager.ts#L217

where it attempts to find "Path" variable in the modifiedEnv, which is a regular object with case-sensitive keys.

The proposed solution is to extract actual PATH key name from the process.env using this simple expression: Object.keys(process.env).find(k=>k.toUpperCase()=="PATH"), rather than assuming that PATH is always "Path" on Windows.

I tested the proposed solution and it solves this issue. I will submit PR shortly.

I have checked existing issues, online documentation and the Troubleshooting Guide

dyarkovoy commented 9 months ago

I believe the provided PR #1093 should also fix issue #1066

txf- commented 8 months ago

During a fresh install, I'm using a workspace folder configuration. I tried installing 5.1 and it wouldn't extract the compilers to the tools directory.

I'm using the latest nightly build as of today, which should have that fix integrated.

Here is the doctor command

---------------------------------------------- ESP-IDF Extension for Visual Studio Code report ---------------------------------------------
OS linux x64 6.2.0-39-generic 
System environment variable IDF_PYTHON_ENV_PATH 
 undefined 
System environment variable PATH 
 <HOMEPATH>/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin 
System environment variable PYTHON 
 undefined 
Visual Studio Code version 1.84.1 
Visual Studio Code language en 
Visual Studio Code shell /usr/bin/bash 
ESP-IDF Extension version 1.6.5 
Workspace folder <HOMEPATH>/Documents/aquainn/iot-reference-esp32c3 
---------------------------------------------------- Extension configuration settings ------------------------------------------------------
ESP-ADF Path (idf.espAdfPath) ${env:ADF_PATH}
ESP-IDF Path (idf.espIdfPath) <HOMEPATH>/esp5x/esp-idf
ESP-MDF Path (idf.espMdfPath) ${env:MDF_PATH}
ESP-Matter Path (idf.espMatterPath) ${env:ESP_MATTER_PATH}
Custom extra paths (idf.customExtraPaths) <HOMEPATH>/.espressif5x/tools/xtensa-esp-elf-gdb/12.1_20231023/xtensa-esp-elf-gdb/bin:<HOMEPATH>/.espressif5x/tools/riscv32-esp-elf-gdb/12.1_20231023/riscv32-esp-elf-gdb/bin:<HOMEPATH>/.espressif5x/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin:<HOMEPATH>/.espressif5x/tools/xtensa-esp32s2-elf/esp-12.2.0_20230208/xtensa-esp32s2-elf/bin:<HOMEPATH>/.espressif5x/tools/xtensa-esp32s3-elf/esp-12.2.0_20230208/xtensa-esp32s3-elf/bin:<HOMEPATH>/.espressif5x/tools/riscv32-esp-elf/esp-12.2.0_20230208/riscv32-esp-elf/bin:<HOMEPATH>/.espressif5x/tools/esp32ulp-elf/2.35_20220830/esp32ulp-elf/bin:<HOMEPATH>/.espressif5x/tools/openocd-esp32/v0.12.0-esp32-20230921/openocd-esp32/bin:<HOMEPATH>/.espressif5x/tools/ninja/1.10.2:<HOMEPATH>/.espressif5x/tools/esp-rom-elfs/20230320:<HOMEPATH>/.espressif5x/tools/riscv32-esp-elf/esp-12.2.0_20230208/
Custom extra vars (idf.customExtraVars)
    OPENOCD_SCRIPTS: <HOMEPATH>/.espressif5x/tools/openocd-esp32/v0.12.0-esp32-20230921/openocd-esp32/share/openocd/scripts
    ESP_ROM_ELF_DIR: <HOMEPATH>/.espressif5x/tools/esp-rom-elfs/20230320/
Virtual env Python Path (idf.pythonBinPath) <HOMEPATH>/.espressif5x/python_env/idf5.1_py3.11_env/bin/python
Serial port (idf.port) /dev/ttyUSB1
OpenOCD Configs (idf.openOcdConfigs) board/esp32c3-builtin.cfg
ESP-IDF Tools Path (idf.toolsPath) <HOMEPATH>/.espressif5x
Git Path (idf.gitPath) git
-------------------------------------------------------- Configurations access -------------------------------------------------------------
Access to ESP-ADF Path (idf.espAdfPath) false
Access to ESP-IDF Path (idf.espIdfPath) true
Access to ESP-MDF Path (idf.espMdfPath) false
Access to ESP-Matter Path (idf.espMatterPath) false
Access to ESP-IDF Custom extra paths
Access to <HOMEPATH>/.espressif5x/tools/xtensa-esp-elf-gdb/12.1_20231023/xtensa-esp-elf-gdb/bin: true
Access to <HOMEPATH>/.espressif5x/tools/riscv32-esp-elf-gdb/12.1_20231023/riscv32-esp-elf-gdb/bin: true
Access to <HOMEPATH>/.espressif5x/tools/xtensa-esp32-elf/esp-12.2.0_20230208/xtensa-esp32-elf/bin: false
Access to <HOMEPATH>/.espressif5x/tools/xtensa-esp32s2-elf/esp-12.2.0_20230208/xtensa-esp32s2-elf/bin: false
Access to <HOMEPATH>/.espressif5x/tools/xtensa-esp32s3-elf/esp-12.2.0_20230208/xtensa-esp32s3-elf/bin: false
Access to <HOMEPATH>/.espressif5x/tools/riscv32-esp-elf/esp-12.2.0_20230208/riscv32-esp-elf/bin: true
Access to <HOMEPATH>/.espressif5x/tools/esp32ulp-elf/2.35_20220830/esp32ulp-elf/bin: true
Access to <HOMEPATH>/.espressif5x/tools/openocd-esp32/v0.12.0-esp32-20230921/openocd-esp32/bin: true
Access to <HOMEPATH>/.espressif5x/tools/ninja/1.10.2: true
Access to <HOMEPATH>/.espressif5x/tools/esp-rom-elfs/20230320: true
Access to <HOMEPATH>/.espressif5x/tools/riscv32-esp-elf/esp-12.2.0_20230208/: true
Access to Virtual env Python Path (idf.pythonBinPath) true
Access to CMake in environment PATH true
Access to Ninja in environment PATH undefined
Access to ESP-IDF Tools Path (idf.toolsPath) true
-------------------------------------------------------- Configurations has spaces -------------------------------------------------------------
Spaces in system environment Path undefined
Spaces in ESP-ADF Path (idf.espAdfPath) undefined
Spaces in ESP-IDF Path (idf.espIdfPath) undefined
Spaces in ESP-MDF Path (idf.espMdfPath) undefined
Spaces in ESP-Matter Path (idf.espMatterPath) undefined
Spaces in ESP-IDF Custom extra paths
Spaces in Virtual env Python Path (idf.pythonBinPath) undefined
Spaces in ESP-IDF Tools Path (idf.toolsPath) undefined
----------------------------------------------------------- Executables Versions -----------------------------------------------------------
Git version undefined
ESP-IDF version undefined
Python version undefined
Python's pip version undefined
-------------------------------------------------- Project configuration settings ----------------------------------------------------------
-------------------------------------------------- Python packages in idf.pythonBinPath ----------------------------------------------------
---------------------------------------------------- Check ESP-IDF python requirements.txt -------------------------------------------------
Check ESP-IDF Python packages undefined
---------------------------------------------------- Check ESP-IDF debug adapter requirements.txt ------------------------------------------
Check Debug AdapterPython packages undefined
----------------------------------------------------------- Latest error -----------------------------------------------------------------
Latest error at Unknown error in ESP-IDF Doctor Command
--------------------------------------------------------------------------------------------------------------------------------------------

Note the line:

Access to <HOMEPATH>/.espressif5x/tools/riscv32-esp-elf/esp-12.2.0_20230208/riscv32-esp-elf/bin: true

This was me creating the folder ~/.espressif5x/tools/riscv32-esp-elf/esp-12.2.0_20230208/ and taking extracting the zip from the /dist folder.

brianignacio5 commented 8 months ago

Could you check the output in the extension log @txf- ?

txf- commented 8 months ago

Could you check the output in the extension log @txf- ?

How do I do that? Is that the Extension Host log?

oh and another thing it is also not populating idf.customExtraPaths in the .settings file with the paths to those folders

brianignacio5 commented 8 months ago

https://github.com/espressif/vscode-esp-idf-extension#troubleshooting

Check log file which can be obtained from: Windows: %USERPROFILE%.vscode\extensions\espressif.esp-idf-extension-VERSION\esp_idf_vsc_ext.log Linux & MacOSX: $HOME/.vscode/extensions/espressif.esp-idf-extension-VERSION/esp_idf_vsc_ext.log

txf- commented 8 months ago

right I'm attaching it to this comment esp_idf_vsc_ext.log

brianignacio5 commented 8 months ago

You mention it wouldn't extract the tools in the directory ? When you are doing the install, what is the message in the menu View -> Output and choose ESP-IDF from drop down.

Also how are you installing the tools ?

txf- commented 8 months ago

Here it is (this was after rerunning the setup process):

I'm installing the tools with extension configuration page. And having that handle the downloads and setup. I should also mention that I have a global install of 4.4, but now I need both sdks so I've changed to a workspace folder setup.

Edit: Just tried by making a global config and I get exactly the same problem. I also tried a 5.2 release and I have the same problems.

My existing 4.4 release shows no problems whatsoever.

idf_versions.txt has (1) KB
idf_versions.txt progress: 100.00% (0.10 / 0.10) KB
/usr/bin/cmake

Downloading GDB for Xtensa
Found xtensa-esp-elf-gdb in /home/tiago/.espressif5x/dist
Downloading GDB for RISC-V
Found riscv32-esp-elf-gdb in /home/tiago/.espressif5x/dist
Downloading Toolchain for Xtensa (ESP32) based on GCC
Found xtensa-esp32-elf in /home/tiago/.espressif5x/dist
Downloading Toolchain for Xtensa (ESP32-S2) based on GCC
Found xtensa-esp32s2-elf in /home/tiago/.espressif5x/dist
Downloading Toolchain for Xtensa (ESP32-S3) based on GCC
Found xtensa-esp32s3-elf in /home/tiago/.espressif5x/dist
Downloading Toolchain for 32-bit RISC-V based on GCC
Found riscv32-esp-elf in /home/tiago/.espressif5x/dist
Downloading Toolchain for ESP32 ULP coprocessor
Found esp32ulp-elf in /home/tiago/.espressif5x/dist
Downloading OpenOCD for ESP32
Found openocd-esp32 in /home/tiago/.espressif5x/dist
Downloading Ninja build system
Found ninja in /home/tiago/.espressif5x/dist
Downloading ESP ROM ELFs
Found esp-rom-elfs in /home/tiago/.espressif5x/dist

Using existing GDB for Xtensa in /home/tiago/.espressif5x/tools/xtensa-esp-elf-gdb/12.1_20231023
Using existing GDB for RISC-V in /home/tiago/.espressif5x/tools/riscv32-esp-elf-gdb/12.1_20231023
/bin/sh: 1: xtensa-esp32-elf-gcc: not found
Command failed: xtensa-esp32-elf-gcc --version
/bin/sh: 1: xtensa-esp32-elf-gcc: not found
Error checking xtensa-esp32-elf version
Error: Command failed: xtensa-esp32-elf-gcc --version
/bin/sh: 1: xtensa-esp32-elf-gcc: not found

Installing package Toolchain for Xtensa (ESP32) based on GCC
Current system platform: linux-amd64
Installing tools: 

/bin/sh: 1: xtensa-esp32s2-elf-gcc: not found
Command failed: xtensa-esp32s2-elf-gcc --version
/bin/sh: 1: xtensa-esp32s2-elf-gcc: not found
Error checking xtensa-esp32s2-elf version
Error: Command failed: xtensa-esp32s2-elf-gcc --version
/bin/sh: 1: xtensa-esp32s2-elf-gcc: not found

Installing package Toolchain for Xtensa (ESP32-S2) based on GCC
Current system platform: linux-amd64
Installing tools: 

/bin/sh: 1: xtensa-esp32s3-elf-gcc: not found
Command failed: xtensa-esp32s3-elf-gcc --version
/bin/sh: 1: xtensa-esp32s3-elf-gcc: not found
Error checking xtensa-esp32s3-elf version
Error: Command failed: xtensa-esp32s3-elf-gcc --version
/bin/sh: 1: xtensa-esp32s3-elf-gcc: not found

Installing package Toolchain for Xtensa (ESP32-S3) based on GCC
Current system platform: linux-amd64
Installing tools: 

/bin/sh: 1: riscv32-esp-elf-gcc: not found
Command failed: riscv32-esp-elf-gcc --version
/bin/sh: 1: riscv32-esp-elf-gcc: not found
Error checking riscv32-esp-elf version
Error: Command failed: riscv32-esp-elf-gcc --version
/bin/sh: 1: riscv32-esp-elf-gcc: not found

Installing package Toolchain for 32-bit RISC-V based on GCC
Current system platform: linux-amd64
Installing tools: 

Using existing Toolchain for ESP32 ULP coprocessor in /home/tiago/.espressif5x/tools/esp32ulp-elf/2.35_20220830
Using existing OpenOCD for ESP32 in /home/tiago/.espressif5x/tools/openocd-esp32/v0.12.0-esp32-20230921
Using existing Ninja build system in /home/tiago/.espressif5x/tools/ninja/1.10.2
Installing package ESP ROM ELFs
Installing tar.gz package ESP ROM ELFs

Python 3.11.4
pip 23.3.2 from /home/tiago/.espressif5x/python_env/idf5.1_py3.11_env/lib/python3.11/site-packages/pip (python 3.11)
Requirement already satisfied: pip in /home/tiago/.espressif5x/python_env/idf5.1_py3.11_env/lib/python3.11/site-packages (23.3.2)
Requirement already satisfied: setuptools in /home/tiago/.espressif5x/python_env/idf5.1_py3.11_env/lib/python3.11/site-packages (69.0.3)
Looking in indexes: https://pypi.org/simple, https://dl.espressif.com/pypi
Ignoring importlib_metadata: markers 'python_version < "3.8"' don't match your environment
Requirement already satisfied: setuptools in /home/tiago/.espressif5x/python_env/idf5.1_py3.11_env/lib/python3.11/site-packages (from -r /home/tiago/esp5x/esp-idf/tools/requirements/requirements.core.txt (line 3)) (69.0.3)
Requirement already satisfied: packaging in /home/tiago/.espressif5x/python_env/idf5.1_py3.11_env/lib/python3.11/site-packages (from -r /home/tiago/esp5x/esp-idf/tools/requirements/requirements.core.txt (line 4)) (23.2)
Requirement already satisfied: click in /home/tiago/.espressif5x/python_env/idf5.1_py3.11_env/lib/python3.11/site-packages (from -r /home/tiago/esp5x/esp-idf/tools/requirements/requirements.core.txt (line 7)) (8.0.4)
Requirement already satisfied: pyserial in /home/tiago/.espressif5x/python_env/idf5.1_py3.11_env/lib/python3.11/site-packages (from -r /home/tiago/esp5x/esp-idf/tools/requirements/requirements.core.txt (line 8)) (3.5)
Requirement already satisfied: cryptography in /home/tiago/.espressif5x/python_env/idf5.1_py3.11_env/lib/python3.11/site-packages (from -r /home/tiago/esp5x/esp-idf/tools/requirements/requirements.core.txt (line 9)) (39.0.2)
Requirement already satisfied: pyparsing in /home/tiago/.espressif5x/python_env/idf5.1_py3.11_env/lib/python3.11/site-packages (from -r /home/tiago/esp5x/esp-idf/tools/requirements/requirements.core.txt (line 10)) (3.0.9)
Requirement already satisfied: pyelftools in /home/tiago/.espressif5x/python_env/idf5.1_py3.11_env/lib/python3.11/site-packages (from -r /home/tiago/esp5x/esp-idf/tools/requirements/requirements.core.txt (line 11)) (0.29)
Requirement already satisfied: idf-component-manager in /home/tiago/.espressif5x/python_env/idf5.1_py3.11_env/lib/python3.11/site-packages (from -r /home/tiago/esp5x/esp-idf/tools/requirements/requirements.core.txt (line 12)) (1.4.1)
Requirement already satisfied: esp-coredump in /home/tiago/.espressif5x/python_env/idf5.1_py3.11_env/lib/python3.11/site-packages (from -r /home/tiago/esp5x/esp-idf/tools/requirements/requirements.core.txt (line 13)) (1.10.0)
Requirement already satisfied: esptool in /home/tiago/.espressif5x/python_env/idf5.1_py3.11_env/lib/python3.11/site-packages (from -r /home/tiago/esp5x/esp-idf/tools/requirements/requirements.core.txt (line 14)) (4.7.0)
Requirement already satisfied: esp-idf-kconfig in /home/tiago/.espressif5x/python_env/idf5.1_py3.11_env/lib/python3.11/site-packages (from -r /home/tiago/esp5x/esp-idf/tools/requirements/requirements.core.txt (line 15)) (1.4.1)
Requirement already satisfied: esp-idf-monitor in /home/tiago/.espressif5x/python_env/idf5.1_py3.11_env/lib/python3.11/site-packages (from -r /home/tiago/esp5x/esp-idf/tools/requirements/requirements.core.txt (line 16)) (1.3.4)
Requirement already satisfied: esp-idf-size in /home/tiago/.espressif5x/python_env/idf5.1_py3.11_env/lib/python3.11/site-packages (from -r /home/tiago/esp5x/esp-idf/tools/requirements/requirements.core.txt (line 17)) (1.0.3)
Requirement already satisfied: esp-idf-panic-decoder in /home/tiago/.espressif5x/python_env/idf5.1_py3.11_env/lib/python3.11/site-packages (from -r /home/tiago/esp5x/esp-idf/tools/requirements/requirements.core.txt (line 18)) (1.0.1)
Requirement already satisfied: construct in /home/tiago/.espressif5x/python_env/idf5.1_py3.11_env/lib/python3.11/site-packages (from -r /home/tiago/esp5x/esp-idf/tools/requirements/requirements.core.txt (line 19)) (2.10.70)
Requirement already satisfied: freertos_gdb in /home/tiago/.espressif5x/python_env/idf5.1_py3.11_env/lib/python3.11/site-packages (from -r /home/tiago/esp5x/esp-idf/tools/requirements/requirements.core.txt (line 22)) (1.0.2)
Requirement already satisfied: cffi>=1.12 in /home/tiago/.espressif5x/python_env/idf5.1_py3.11_env/lib/python3.11/site-packages (from cryptography->-r /home/tiago/esp5x/esp-idf/tools/requirements/requirements.core.txt (line 9)) (1.16.0)
Requirement already satisfied: cachecontrol[filecache] in /home/tiago/.espressif5x/python_env/idf5.1_py3.11_env/lib/python3.11/site-packages (from idf-component-manager->-r /home/tiago/esp5x/esp-idf/tools/requirements/requirements.core.txt (line 12)) (0.13.1)
Requirement already satisfied: colorama in /home/tiago/.espressif5x/python_env/idf5.1_py3.11_env/lib/python3.11/site-packages (from idf-component-manager->-r /home/tiago/esp5x/esp-idf/tools/requirements/requirements.core.txt (line 12)) (0.4.6)
Requirement already satisfied: pyyaml in /home/tiago/.espressif5x/python_env/idf5.1_py3.11_env/lib/python3.11/site-packages (from idf-component-manager->-r /home/tiago/esp5x/esp-idf/tools/requirements/requirements.core.txt (line 12)) (6.0.1)
Requirement already satisfied: requests in /home/tiago/.espressif5x/python_env/idf5.1_py3.11_env/lib/python3.11/site-packages (from idf-component-manager->-r /home/tiago/esp5x/esp-idf/tools/requirements/requirements.core.txt (line 12)) (2.31.0)
Requirement already satisfied: requests-file in /home/tiago/.espressif5x/python_env/idf5.1_py3.11_env/lib/python3.11/site-packages (from idf-component-manager->-r /home/tiago/esp5x/esp-idf/tools/requirements/requirements.core.txt (line 12)) (1.5.1)
Requirement already satisfied: requests-toolbelt in /home/tiago/.espressif5x/python_env/idf5.1_py3.11_env/lib/python3.11/site-packages (from idf-component-manager->-r /home/tiago/esp5x/esp-idf/tools/requirements/requirements.core.txt (line 12)) (1.0.0)
Requirement already satisfied: schema in /home/tiago/.espressif5x/python_env/idf5.1_py3.11_env/lib/python3.11/site-packages (from idf-component-manager->-r /home/tiago/esp5x/esp-idf/tools/requirements/requirements.core.txt (line 12)) (0.7.5)
Requirement already satisfied: six in /home/tiago/.espressif5x/python_env/idf5.1_py3.11_env/lib/python3.11/site-packages (from idf-component-manager->-r /home/tiago/esp5x/esp-idf/tools/requirements/requirements.core.txt (line 12)) (1.16.0)
Requirement already satisfied: tqdm in /home/tiago/.espressif5x/python_env/idf5.1_py3.11_env/lib/python3.11/site-packages (from idf-component-manager->-r /home/tiago/esp5x/esp-idf/tools/requirements/requirements.core.txt (line 12)) (4.66.1)
Requirement already satisfied: urllib3<2 in /home/tiago/.espressif5x/python_env/idf5.1_py3.11_env/lib/python3.11/site-packages (from idf-component-manager->-r /home/tiago/esp5x/esp-idf/tools/requirements/requirements.core.txt (line 12)) (1.26.18)
Requirement already satisfied: pygdbmi>=0.9.0.2 in /home/tiago/.espressif5x/python_env/idf5.1_py3.11_env/lib/python3.11/site-packages (from esp-coredump->-r /home/tiago/esp5x/esp-idf/tools/requirements/requirements.core.txt (line 13)) (0.9.0.2)
Requirement already satisfied: bitstring>=3.1.6 in /home/tiago/.espressif5x/python_env/idf5.1_py3.11_env/lib/python3.11/site-packages (from esptool->-r /home/tiago/esp5x/esp-idf/tools/requirements/requirements.core.txt (line 14)) (4.1.4)
Requirement already satisfied: ecdsa>=0.16.0 in /home/tiago/.espressif5x/python_env/idf5.1_py3.11_env/lib/python3.11/site-packages (from esptool->-r /home/tiago/esp5x/esp-idf/tools/requirements/requirements.core.txt (line 14)) (0.18.0)
Requirement already satisfied: reedsolo<1.8,>=1.5.3 in /home/tiago/.espressif5x/python_env/idf5.1_py3.11_env/lib/python3.11/site-packages (from esptool->-r /home/tiago/esp5x/esp-idf/tools/requirements/requirements.core.txt (line 14)) (1.7.0)
Requirement already satisfied: intelhex in /home/tiago/.espressif5x/python_env/idf5.1_py3.11_env/lib/python3.11/site-packages (from esptool->-r /home/tiago/esp5x/esp-idf/tools/requirements/requirements.core.txt (line 14)) (2.3.0)
Requirement already satisfied: kconfiglib>=13.7.1 in /home/tiago/.espressif5x/python_env/idf5.1_py3.11_env/lib/python3.11/site-packages (from esp-idf-kconfig->-r /home/tiago/esp5x/esp-idf/tools/requirements/requirements.core.txt (line 15)) (14.1.0)
Requirement already satisfied: rich in /home/tiago/.espressif5x/python_env/idf5.1_py3.11_env/lib/python3.11/site-packages (from esp-idf-size->-r /home/tiago/esp5x/esp-idf/tools/requirements/requirements.core.txt (line 17)) (13.7.0)
Requirement already satisfied: bitarray<3.0.0,>=2.8.0 in /home/tiago/.espressif5x/python_env/idf5.1_py3.11_env/lib/python3.11/site-packages (from bitstring>=3.1.6->esptool->-r /home/tiago/esp5x/esp-idf/tools/requirements/requirements.core.txt (line 14)) (2.9.2)
Requirement already satisfied: pycparser in /home/tiago/.espressif5x/python_env/idf5.1_py3.11_env/lib/python3.11/site-packages (from cffi>=1.12->cryptography->-r /home/tiago/esp5x/esp-idf/tools/requirements/requirements.core.txt (line 9)) (2.21)
Requirement already satisfied: msgpack>=0.5.2 in /home/tiago/.espressif5x/python_env/idf5.1_py3.11_env/lib/python3.11/site-packages (from cachecontrol[filecache]->idf-component-manager->-r /home/tiago/esp5x/esp-idf/tools/requirements/requirements.core.txt (line 12)) (1.0.7)
Requirement already satisfied: filelock>=3.8.0 in /home/tiago/.espressif5x/python_env/idf5.1_py3.11_env/lib/python3.11/site-packages (from cachecontrol[filecache]->idf-component-manager->-r /home/tiago/esp5x/esp-idf/tools/requirements/requirements.core.txt (line 12)) (3.13.1)
Requirement already satisfied: charset-normalizer<4,>=2 in /home/tiago/.espressif5x/python_env/idf5.1_py3.11_env/lib/python3.11/site-packages (from requests->idf-component-manager->-r /home/tiago/esp5x/esp-idf/tools/requirements/requirements.core.txt (line 12)) (3.3.2)
Requirement already satisfied: idna<4,>=2.5 in /home/tiago/.espressif5x/python_env/idf5.1_py3.11_env/lib/python3.11/site-packages (from requests->idf-component-manager->-r /home/tiago/esp5x/esp-idf/tools/requirements/requirements.core.txt (line 12)) (3.6)
Requirement already satisfied: certifi>=2017.4.17 in /home/tiago/.espressif5x/python_env/idf5.1_py3.11_env/lib/python3.11/site-packages (from requests->idf-component-manager->-r /home/tiago/esp5x/esp-idf/tools/requirements/requirements.core.txt (line 12)) (2023.11.17)
Requirement already satisfied: markdown-it-py>=2.2.0 in /home/tiago/.espressif5x/python_env/idf5.1_py3.11_env/lib/python3.11/site-packages (from rich->esp-idf-size->-r /home/tiago/esp5x/esp-idf/tools/requirements/requirements.core.txt (line 17)) (3.0.0)
Requirement already satisfied: pygments<3.0.0,>=2.13.0 in /home/tiago/.espressif5x/python_env/idf5.1_py3.11_env/lib/python3.11/site-packages (from rich->esp-idf-size->-r /home/tiago/esp5x/esp-idf/tools/requirements/requirements.core.txt (line 17)) (2.17.2)
Requirement already satisfied: contextlib2>=0.5.5 in /home/tiago/.espressif5x/python_env/idf5.1_py3.11_env/lib/python3.11/site-packages (from schema->idf-component-manager->-r /home/tiago/esp5x/esp-idf/tools/requirements/requirements.core.txt (line 12)) (21.6.0)
Requirement already satisfied: mdurl~=0.1 in /home/tiago/.espressif5x/python_env/idf5.1_py3.11_env/lib/python3.11/site-packages (from markdown-it-py>=2.2.0->rich->esp-idf-size->-r /home/tiago/esp5x/esp-idf/tools/requirements/requirements.core.txt (line 17)) (0.1.2)
Upgrading pip and setuptools...
Skipping the download of /home/tiago/.espressif5x/espidf.constraints.v5.1.txt because it was downloaded recently.
Installing Python packages
 Constraint file: /home/tiago/.espressif5x/espidf.constraints.v5.1.txt
 Requirement files:
  - /home/tiago/esp5x/esp-idf/tools/requirements/requirements.core.txt

Installing ESP-IDF Debug Adapter python packages in /home/tiago/.espressif5x/python_env/idf5.1_py3.11_env/bin/python ...

Ignoring pywin32: markers 'sys_platform == "win32"' don't match your environment
Requirement already satisfied: setuptools>=21 in /home/tiago/.espressif5x/python_env/idf5.1_py3.11_env/lib/python3.11/site-packages (from -r /home/tiago/.vscode/extensions/espressif.esp-idf-extension-1.6.5/esp_debug_adapter/requirements.txt (line 1)) (69.0.3)
Requirement already satisfied: click in /home/tiago/.espressif5x/python_env/idf5.1_py3.11_env/lib/python3.11/site-packages (from -r /home/tiago/.vscode/extensions/espressif.esp-idf-extension-1.6.5/esp_debug_adapter/requirements.txt (line 3)) (8.0.4)
Requirement already satisfied: esp-debug-backend in /home/tiago/.espressif5x/python_env/idf5.1_py3.11_env/lib/python3.11/site-packages (from -r /home/tiago/.vscode/extensions/espressif.esp-idf-extension-1.6.5/esp_debug_adapter/requirements.txt (line 4)) (1.0.3)
Requirement already satisfied: requests>=2.21.0 in /home/tiago/.espressif5x/python_env/idf5.1_py3.11_env/lib/python3.11/site-packages (from -r /home/tiago/.vscode/extensions/espressif.esp-idf-extension-1.6.5/esp_debug_adapter/requirements.txt (line 6)) (2.31.0)
Requirement already satisfied: pygdbmi>=0.9.0.0 in /home/tiago/.espressif5x/python_env/idf5.1_py3.11_env/lib/python3.11/site-packages (from esp-debug-backend->-r /home/tiago/.vscode/extensions/espressif.esp-idf-extension-1.6.5/esp_debug_adapter/requirements.txt (line 4)) (0.9.0.2)
Requirement already satisfied: charset-normalizer<4,>=2 in /home/tiago/.espressif5x/python_env/idf5.1_py3.11_env/lib/python3.11/site-packages (from requests>=2.21.0->-r /home/tiago/.vscode/extensions/espressif.esp-idf-extension-1.6.5/esp_debug_adapter/requirements.txt (line 6)) (3.3.2)
Requirement already satisfied: idna<4,>=2.5 in /home/tiago/.espressif5x/python_env/idf5.1_py3.11_env/lib/python3.11/site-packages (from requests>=2.21.0->-r /home/tiago/.vscode/extensions/espressif.esp-idf-extension-1.6.5/esp_debug_adapter/requirements.txt (line 6)) (3.6)
Requirement already satisfied: urllib3<3,>=1.21.1 in /home/tiago/.espressif5x/python_env/idf5.1_py3.11_env/lib/python3.11/site-packages (from requests>=2.21.0->-r /home/tiago/.vscode/extensions/espressif.esp-idf-extension-1.6.5/esp_debug_adapter/requirements.txt (line 6)) (1.26.18)
Requirement already satisfied: certifi>=2017.4.17 in /home/tiago/.espressif5x/python_env/idf5.1_py3.11_env/lib/python3.11/site-packages (from requests>=2.21.0->-r /home/tiago/.vscode/extensions/espressif.esp-idf-extension-1.6.5/esp_debug_adapter/requirements.txt (line 6)) (2023.11.17)

Python requirements has been installed
/bin/sh: 1: riscv32-esp-elf-gcc: not found
Command failed: riscv32-esp-elf-gcc --version
/bin/sh: 1: riscv32-esp-elf-gcc: not found
Error checking riscv32-esp-elf version
Error: Command failed: riscv32-esp-elf-gcc --version
/bin/sh: 1: riscv32-esp-elf-gcc: not found

/bin/sh: 1: xtensa-esp32s3-elf-gcc: not found
Command failed: xtensa-esp32s3-elf-gcc --version
/bin/sh: 1: xtensa-esp32s3-elf-gcc: not found
Error checking xtensa-esp32s3-elf version
Error: Command failed: xtensa-esp32s3-elf-gcc --version
/bin/sh: 1: xtensa-esp32s3-elf-gcc: not found

/bin/sh: 1: xtensa-esp32s2-elf-gcc: not found
Command failed: xtensa-esp32s2-elf-gcc --version
/bin/sh: 1: xtensa-esp32s2-elf-gcc: not found
Error checking xtensa-esp32s2-elf version
Error: Command failed: xtensa-esp32s2-elf-gcc --version
/bin/sh: 1: xtensa-esp32s2-elf-gcc: not found

/bin/sh: 1: xtensa-esp32-elf-gcc: not found
Command failed: xtensa-esp32-elf-gcc --version
/bin/sh: 1: xtensa-esp32-elf-gcc: not found
Error checking xtensa-esp32-elf version
Error: Command failed: xtensa-esp32-elf-gcc --version
/bin/sh: 1: xtensa-esp32-elf-gcc: not found
txf- commented 8 months ago

I'll make a new comment to state that I managed to get it to work. Simply extracting the zip files from the dist folder does not nest them in the way the customExtraPaths string writes them out: image It needs to be nested in the structure as above. The root folder in this image being the tools folder.

I'm putting this here in case someone else has the same problem, but this still is not a fix for the fact that the extension setup does not extract the necessary compiler directories in any of the 5.x installations.

mahboobkarimian commented 7 months ago

I have a problem in Linux with vscode 1.85.2. I also tested with the nightly build of the extension, the same problem.

Python requirements has been installed
/bin/sh: 1: riscv32-esp-elf-gcc: not found
Command failed: riscv32-esp-elf-gcc --version
/bin/sh: 1: riscv32-esp-elf-gcc: not found
Error checking riscv32-esp-elf version
Error: Command failed: riscv32-esp-elf-gcc --version
/bin/sh: 1: riscv32-esp-elf-gcc: not found

/bin/sh: 1: xtensa-esp-elf-gcc: not found
Command failed: xtensa-esp-elf-gcc --version
/bin/sh: 1: xtensa-esp-elf-gcc: not found
Error checking xtensa-esp-elf version
Error: Command failed: xtensa-esp-elf-gcc --version
/bin/sh: 1: xtensa-esp-elf-gcc: not found
brianignacio5 commented 7 months ago

I've made a fix related to this @mahboobkarimian @txf- in here

You can try installing the extension vsix installer from this PR to test it out