Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Disable gdbgui for python >=3.11 as it´s incompatible #25739

Closed
wants to merge 1 commit into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions scripts/setup/constraints.txt
Original file line number Diff line number Diff line change
Expand Up @@ -114,9 +114,9 @@ future==0.18.3
# idf-component-manager
# mbed-os-tools
# pylink-square
gdbgui==0.13.2.0 ; platform_machine != "aarch64" and sys_platform == "linux"
gdbgui==0.13.2.0 ; platform_machine != "aarch64" and sys_platform == "linux" and python_version < "3.11"
# via -r requirements.esp32.txt
gevent==1.5.0
gevent==1.5.0; python_version < "3.11"
# via gdbgui
ghapi==1.0.3
# via -r requirements.txt
Expand Down Expand Up @@ -263,7 +263,7 @@ pycryptodome==3.9.8
# via
# bflb-crypto-plus
# bflb-iot-tool
pygdbmi==0.9.0.2
pygdbmi==0.9.0.2; python_version < "3.11"
# via
# -r requirements.esp32.txt
# gdbgui
Expand Down Expand Up @@ -308,7 +308,7 @@ python-dotenv==1.0.0 ; platform_machine != "aarch64" and sys_platform == "linux"
# mbed-tools
python-engineio==3.14.2
# via python-socketio
python-socketio==4.6.1
python-socketio==4.6.1; python_version < "3.11"
# via
# -r requirements.esp32.txt
# flask-socketio
Expand Down
10 changes: 5 additions & 5 deletions scripts/setup/requirements.esp32.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,13 @@ click>=7.0
future>=0.15.2
pyparsing>=2.0.3,<2.4.0
idf-component-manager
pygdbmi<=0.9.0.2
pygdbmi<=0.9.0.2 ; python_version < "3.11"
reedsolo>=1.5.3,<=1.5.4
bitstring>=3.1.6
ecdsa>=0.16.0
kconfiglib==13.7.1
construct==2.10.54
python-socketio<5
gdbgui==0.13.2.0 ; platform_machine != 'aarch64' and sys_platform == 'linux'
jinja2<3.1
itsdangerous<2.1
python-socketio<5 ; python_version < "3.11"
gdbgui==0.13.2.0 ; platform_machine != 'aarch64' and sys_platform == 'linux' and python_version < "3.11"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Isn't gdbgui needed for idf.py build?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@bzbarsky-apple gdbgui is needed for idf.py build

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This seems to effectively say "if you use python 3.11, you will not be able to build esp examples". However it also starts allowing any other non-esp builds ... so it seems better than before.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@bzbarsky-apple gdbgui is needed for idf.py build

Not sure about that, espressif-idf removed it as well:

see: espressif/esp-idf@2685a0a
and: espressif/esp-idf@a816dfb

as well as the issue here: espressif/esp-idf#10116

i think it is only used, when you run idf.py gdbgui which won´t work with python 3.11 as gdbgui does not support Python 3.11+

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The issue with older esp is that idf.py validates the environment, specifically when we do a cmake generate. So even though we would compile just fine, we fail cmake at start because gdbui is missing :(

We did complain to ESP and were told that indeed this was removed in 5.0 I believe ... still waiting to get matter updated to the latest SDK and hoping then this will go away.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@andy31415 IDF 5.0 is currently supported with connectedhomeip and examples should compile (#24720 #24983). Although, we have not officially moved to it as there may be some customers who still wish to use IDF v4.4 and not change at the last moment.

Will accepting this patch result into build failure for ESP builds for v4.4.x with Python 11?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

With python 11 the build fails no matter what: without this patch it fails trying to install gdbui, with this patch it will fail at idf.py build time due to lack of gdbui.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This patch however allows bootstrap and compile for other environments ... so while esp32 will fail on py11 no matter what, without this patch everything else fails, with this patch others may pass (e.g. linux builds or other platforms that are not esp)

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think ideally we would have something that very clearly fails with an actionable error (e.g. "python 3.11 is not supported") in the cases when we really can't compile with it, while compiling in other cases. Our current errors are completely inscrutable.

If we can't do that, I agree that this is probably better than nothing....

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@dhrishi - what should we do here? as this does not make things worse, it seems it should be acceptaable.

jinja2<3.1 ; python_version < "3.11"
itsdangerous<2.1 ; python_version < "3.11"