Tools: gdbgui is not supported on Python 3.11

Closes https://github.com/espressif/esp-idf/issues/10116
This commit is contained in:
Roland Dobai 2022-11-10 17:06:44 +01:00 committed by BOT
parent 7a77109e0d
commit 3974be7fec
2 changed files with 13 additions and 6 deletions

View File

@ -19,15 +19,18 @@ pyparsing>=2.0.3,<2.4.0
pyelftools>=0.22
idf-component-manager~=1.0
gdbgui==0.13.2.0
gdbgui==0.13.2.0; python_version < "3.11"
# 0.13.2.1 supports Python 3.6+ only
# Windows is not supported since 0.14.0.0. See https://github.com/cs01/gdbgui/issues/348
pygdbmi<=0.9.0.2
pygdbmi<=0.9.0.2; python_version < "3.11"
# The pygdbmi required max version 0.9.0.2 since 0.9.0.3 is not compatible with latest gdbgui (>=0.13.2.0)
# A compatible Socket.IO should be used. See https://github.com/miguelgrinberg/python-socketio/issues/578
python-socketio<5
jinja2<3.1 # See https://github.com/espressif/esp-idf/issues/8760
itsdangerous<2.1
python-socketio<5; python_version < "3.11"
jinja2<3.1; python_version < "3.11" # See https://github.com/espressif/esp-idf/issues/8760
itsdangerous<2.1; python_version < "3.11"
# gdbgui is not supported on Python 3.11. See https://github.com/cs01/gdbgui/issues/447
pygdbmi<=0.9.0.2; python_version > "3.10"
kconfiglib==13.7.1

View File

@ -210,8 +210,12 @@ def action_extensions(base_actions, project_path):
env['PURE_PYTHON'] = '1'
try:
process = subprocess.Popen(args, stdout=gdbgui_out, stderr=subprocess.STDOUT, bufsize=1, env=env)
except Exception as e:
except (OSError, subprocess.CalledProcessError) as e:
print(e)
if sys.version_info[:2] >= (3, 11):
raise SystemExit('Unfortunately, gdbgui is supported only with Python 3.10 or older. '
'See: https://github.com/espressif/esp-idf/issues/10116. '
'Please use "idf.py gdb" or debug in Eclipse/Vscode instead.')
raise FatalError('Error starting gdbgui. Please make sure gdbgui can be started', ctx)
processes['gdbgui'] = process