Skip to content

idf_tools.py installation failed #208

@maxgerhardt

Description

@maxgerhardt

PROBLEM DESCRIPTION

Installation of toolchain fails with message

idf_tools.py installation failed

Subsequently compilers are not found

Compiling .pio/build/cheap_yellow/lib0f1/SPI/SPI.cpp.o
sh: xtensa-esp32-elf-g++: command not found

TO REPRODUCE

Exact reproduction unknown, might need a previous version of pioarduino installed which has triggered the tool installation or not. Occurred for a user with platformio.ini

[env:cheap_yellow]
; has Arduino-ESP32 3.2.1
platform = https://github.com/pioarduino/platform-espressif32/releases/download/54.03.21/platform-espressif32.zip
board = esp32dev
framework = arduino

EXPECTED BEHAVIOUR

Tools are installed normally.

SCREENSHOTS

-/-

ADDITIONAL CONTEXT

As observed in https://community.platformio.org/t/bb-spi-lcd-missing-esp-psram-h/

The TL install tool points to

"tl-install": {
"type": "tool",
"optional": false,
"owner": "pioarduino",
"version": "https://github.com/pioarduino/esp_install/releases/download/v5.0.0/esp_install-v5.0.0.zip"
},

However that package's tools.json is an empty file

Image

Subsequently running the code

def _run_idf_tools_install(self, tools_json_path: str, idf_tools_path: str) -> bool:
"""Execute idf_tools.py install command with timeout and error handling."""
cmd = [
python_exe,
idf_tools_path,
"--quiet",
"--non-interactive",
"--tools-json",
tools_json_path,
"install"
]

fails with

C:\Users\Max\temp\psramtest>"C:\Users\Max\.platformio\penv\Scripts\python.exe" C:\Users\Max\.platformio\packages\tl-install\tools\idf_tools.py  --quiet --non-interactive --tools-json C:\Users\Max\.platformio\packages\tl-install\tools\tools.json install
Traceback (most recent call last):
  File "C:\Users\Max\.platformio\packages\tl-install\tools\idf_tools.py", line 2809, in <module>
    main(sys.argv[1:])
  File "C:\Users\Max\.platformio\packages\tl-install\tools\idf_tools.py", line 2801, in main
    action_func(args)
  File "C:\Users\Max\.platformio\packages\tl-install\tools\idf_tools.py", line 1983, in action_install
    targets = add_and_check_targets(idf_env_obj, args.targets)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Max\.platformio\packages\tl-install\tools\idf_tools.py", line 1470, in add_and_check_targets
    targets = parse_targets_arg(targets_str)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Max\.platformio\packages\tl-install\tools\idf_tools.py", line 1451, in parse_targets_arg
    targets_from_tools_json = get_all_targets_from_tools_json()
                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Max\.platformio\packages\tl-install\tools\idf_tools.py", line 1495, in get_all_targets_from_tools_json
    tools_info = load_tools_info()
                 ^^^^^^^^^^^^^^^^^
  File "C:\Users\Max\.platformio\packages\tl-install\tools\idf_tools.py", line 1322, in load_tools_info
    tools_info = json.load(f)
                 ^^^^^^^^^^^^
  File "C:\Users\Max\.platformio\python3\Lib\json\__init__.py", line 293, in load
    return loads(fp.read(),
           ^^^^^^^^^^^^^^^^
  File "C:\Users\Max\.platformio\python3\Lib\json\__init__.py", line 346, in loads
    return _default_decoder.decode(s)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Max\.platformio\python3\Lib\json\decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\Max\.platformio\python3\Lib\json\decoder.py", line 355, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 2 column 1 (char 1)

(Please, remember to close the issue when the problem has been addressed)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions