idf.py menuconfig fail

iamkkk
Posts: 7
Joined: Thu Apr 16, 2020 2:34 am

idf.py menuconfig fail

Postby iamkkk » Thu Apr 16, 2020 2:56 am

Hi,
I install esp-idf and menuconfig can not run successfully but I can run idf.py build and idf.py flash
Could you help me?

. ~/esp/esp-idf/export.sh
idf.py menuconfig


Traceback (most recent call last):
File "/root/esp/esp-idf/tools/kconfig_new/menuconfig.py", line 3287, in <module>
_main()
File "/root/esp/esp-idf/tools/kconfig_new/menuconfig.py", line 672, in _main
menuconfig(standard_kconfig(__doc__))
File "/root/esp/esp-idf/tools/kconfig_new/menuconfig.py", line 741, in menuconfig
print(curses.wrapper(_menuconfig))
File "/usr/lib/python2.7/curses/wrapper.py", line 49, in wrapper
curses.nocbreak()
_curses.error: nocbreak() returned ERR
ninja: build stopped: subcommand failed.
ninja failed with exit code 1

User avatar
ESP_Roland
Posts: 239
Joined: Tue Oct 09, 2018 10:28 am

Re: idf.py menuconfig fail

Postby ESP_Roland » Thu Apr 16, 2020 2:04 pm

Hi iamkkk,

What terminal and OS are you using? What is the value of the TERM enviroment variable? You can find it in the output, e.g.:

Code: Select all

TERM environment variable is set to "rxvt-unicode-256color"

iamkkk
Posts: 7
Joined: Thu Apr 16, 2020 2:34 am

Re: idf.py menuconfig fail

Postby iamkkk » Fri Apr 17, 2020 1:48 am

Hi Roland,
I use ubuntu default terminal and export TERM=rxvt-unicode-256color but still have problem.


Executing "ninja menuconfig"...
[1/1] cd /root/esp/esp-idf/examples/bluetooth/esp_ble_mesh/ble_mesh_wifi_c...sp/esp-idf/examples/bluetooth/esp_ble_mesh/ble_mesh_wifi_coexist/sdkconfig
FAILED: cd /root/esp/esp-idf/examples/bluetooth/esp_ble_mesh/ble_mesh_wifi_coexist/build && /root/.espressif/python_env/idf4.2_py2.7_env/bin/python /root/esp/esp-idf/tools/kconfig_new/prepare_kconfig_files.py --env-file /root/esp/esp-idf/examples/bluetooth/esp_ble_mesh/ble_mesh_wifi_coexist/build/config.env && /root/.espressif/python_env/idf4.2_py2.7_env/bin/python /root/esp/esp-idf/tools/kconfig_new/confgen.py --kconfig /root/esp/esp-idf/Kconfig --sdkconfig-rename /root/esp/esp-idf/sdkconfig.rename --config /root/esp/esp-idf/examples/bluetooth/esp_ble_mesh/ble_mesh_wifi_coexist/sdkconfig --defaults /root/esp/esp-idf/examples/bluetooth/esp_ble_mesh/ble_mesh_wifi_coexist/sdkconfig.defaults --env-file /root/esp/esp-idf/examples/bluetooth/esp_ble_mesh/ble_mesh_wifi_coexist/build/config.env --env IDF_TARGET=esp32 --dont-write-deprecated --output config /root/esp/esp-idf/examples/bluetooth/esp_ble_mesh/ble_mesh_wifi_coexist/sdkconfig && /root/.espressif/python_env/idf4.2_py2.7_env/bin/python /root/esp/esp-idf/tools/check_term.py && /usr/local/bin/cmake -E env COMPONENT_KCONFIGS_SOURCE_FILE=/root/esp/esp-idf/examples/bluetooth/esp_ble_mesh/ble_mesh_wifi_coexist/build/kconfigs.in COMPONENT_KCONFIGS_PROJBUILD_SOURCE_FILE=/root/esp/esp-idf/examples/bluetooth/esp_ble_mesh/ble_mesh_wifi_coexist/build/kconfigs_projbuild.in IDF_CMAKE=y KCONFIG_CONFIG=/root/esp/esp-idf/examples/bluetooth/esp_ble_mesh/ble_mesh_wifi_coexist/sdkconfig IDF_TARGET=esp32 /root/.espressif/python_env/idf4.2_py2.7_env/bin/python /root/esp/esp-idf/tools/kconfig_new/menuconfig.py /root/esp/esp-idf/Kconfig && /root/.espressif/python_env/idf4.2_py2.7_env/bin/python /root/esp/esp-idf/tools/kconfig_new/confgen.py --kconfig /root/esp/esp-idf/Kconfig --sdkconfig-rename /root/esp/esp-idf/sdkconfig.rename --config /root/esp/esp-idf/examples/bluetooth/esp_ble_mesh/ble_mesh_wifi_coexist/sdkconfig --defaults /root/esp/esp-idf/examples/bluetooth/esp_ble_mesh/ble_mesh_wifi_coexist/sdkconfig.defaults --env-file /root/esp/esp-idf/examples/bluetooth/esp_ble_mesh/ble_mesh_wifi_coexist/build/config.env --env IDF_TARGET=esp32 --output config /root/esp/esp-idf/examples/bluetooth/esp_ble_mesh/ble_mesh_wifi_coexist/sdkconfig
Loading defaults file /root/esp/esp-idf/examples/bluetooth/esp_ble_mesh/ble_mesh_wifi_coexist/sdkconfig.defaults...
TERM environment variable is set to "rxvt-unicode-256color"
Loaded configuration '/root/esp/esp-idf/examples/bluetooth/esp_ble_mesh/ble_mesh_wifi_coexist/sdkconfig'



ceback (most recent call last):
File "/root/esp/esp-idf/tools/kconfig_new/menuconfig.py", line 3287, in <module>
_main()
File "/root/esp/esp-idf/tools/kconfig_new/menuconfig.py", line 672, in _main
menuconfig(standard_kconfig(__doc__))
File "/root/esp/esp-idf/tools/kconfig_new/menuconfig.py", line 741, in menuconfig
print(curses.wrapper(_menuconfig))
File "/usr/lib/python2.7/curses/wrapper.py", line 49, in wrapper
curses.nocbreak()
_curses.error: nocbreak() returned ERR
ninja: build stopped: subcommand failed.
ninja failed with exit code 1
root@E5450:~/esp/esp-idf/examples/bluetooth/esp_ble_mesh/ble_mesh_wifi_coexist# echo $TERM
rxvt-unicode-256color




Thanks

User avatar
ESP_Roland
Posts: 239
Joined: Tue Oct 09, 2018 10:28 am

Re: idf.py menuconfig fail

Postby ESP_Roland » Fri Apr 17, 2020 6:55 am

Hi iamkkk,

I'm not sure about this issue as menuconfig usually is working well on Ubuntu. The proper TERM value for your terminal is probably "xterm-256color" but I think it should work with the default value as well. No additional packages are necessary on Ubuntu.

You can try different styles and see if that is causing the problem:

Code: Select all

idf.py menuconfig --style monochrome
Are you using some older Ubuntu, i.e. older than 16.04? What is your python version, i.e. the output of "python --version"?

You are not using any terminal multiplexer, i.e. tmux, screen? You are not connecting to the machine over SSH?

You may try to switch to Python 3 and see if you get the same error:
https://docs.espressif.com/projects/esp ... and-debian (you can switch back to Python 2 with update-alternatives if you don't want to keep Python 3 as default)

It is unusual to run these tools as root. You might want to try to switch to a regular user as different environment variables could cause problems. These tools are not tested to run as root.

iamkkk
Posts: 7
Joined: Thu Apr 16, 2020 2:34 am

Re: idf.py menuconfig fail

Postby iamkkk » Fri Apr 17, 2020 10:46 am

Hi Roland,
My Ubuntu version is 14.04.6 LTS
python is 2.7.6

You are not using any terminal multiplexer, i.e. tmux, screen? You are not connecting to the machine over SSH?
Yes, I use Ubuntu default terminal and I do not use SSH.

I can not run ". ~/esp/esp-idf/export.sh" if I use python3.
I see there is ~/.rspressif/python_env/idf4.2_py2.7_env , only support python2 ?


Thanks

User avatar
ESP_Roland
Posts: 239
Joined: Tue Oct 09, 2018 10:28 am

Re: idf.py menuconfig fail

Postby ESP_Roland » Fri Apr 17, 2020 11:10 am

If you switch Python and run install.sh then it will create a new Python environment in directory .espressif based on the new Python.

The version of your Ubuntu is no longer supported and the included Pythons are very old.

Here are a couple of more ideas you can try:
- build in docker: https://docs.espressif.com/projects/esp ... image.html
- Install a newer Python with https://github.com/pyenv/pyenv. However, I've never tested pyenv with install.sh and export.sh.
- Use IDF v4.0 or older until you upgrade to more recent Ubuntu. IDF v4.0 uses the old menuconfig.

Who is online

Users browsing this forum: natee.th and 83 guests