linux-setup.rst 4.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. *********************************************
  2. Standard Setup of Toolchain for Linux
  3. *********************************************
  4. :link_to_translation:`zh_CN:[中文]`
  5. Install Prerequisites
  6. =====================
  7. To compile with ESP-IDF you need to get the following packages:
  8. - CentOS 7::
  9. sudo yum -y update && sudo yum install git wget flex bison gperf python3 cmake ninja-build ccache
  10. CentOS 7 is still supported but CentOS version 8 is recommended for a better user experience.
  11. - Ubuntu and Debian::
  12. sudo apt-get install git wget flex bison gperf python3 python3-pip python3-setuptools cmake ninja-build ccache libffi-dev libssl-dev dfu-util
  13. - Arch::
  14. sudo pacman -S --needed gcc git make ncurses flex bison gperf python-pip cmake ninja ccache
  15. .. note::
  16. CMake version 3.5 or newer is required for use with ESP-IDF. Older Linux distributions may require updating, enabling of a "backports" repository, or installing of a "cmake3" package rather than "cmake".
  17. Additional Tips
  18. ===============
  19. Permission issues /dev/ttyUSB0
  20. ------------------------------
  21. With some Linux distributions you may get the ``Failed to open port /dev/ttyUSB0`` error message when flashing the ESP32. :ref:`This can be solved by adding the current user to the dialout group<linux-dialout-group>`.
  22. Arch Linux Users
  23. ----------------
  24. To run the precompiled gdb (xtensa-esp32-elf-gdb) in Arch Linux requires ncurses 5, but Arch uses ncurses 6.
  25. Backwards compatibility libraries are available in AUR_ for native and lib32 configurations:
  26. - https://aur.archlinux.org/packages/ncurses5-compat-libs/
  27. - https://aur.archlinux.org/packages/lib32-ncurses5-compat-libs/
  28. Before installing these packages you might need to add the author's public key to your keyring as described in the "Comments" section at the links above.
  29. Alternatively, use crosstool-NG to compile a gdb that links against ncurses 6.
  30. Setting up Python 3 as default for CentOS
  31. -----------------------------------------
  32. CentOS 7 and older is providing Python 2.7 as the default interpreter.
  33. Python 3 is recommended instead and can be installed in old distributions as follows, or please consult the documentation of your operating system for other recommended ways to achieve this::
  34. sudo yum -y update && sudo yum install python3 python3-pip python3-setuptools
  35. Making Python 3 the default interpreter is possible by running::
  36. sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 10 && alias pip=pip3
  37. Setting up Python 3 as default for Ubuntu and Debian
  38. ----------------------------------------------------
  39. Ubuntu (version 18.04 and older) and Debian (version 9 and older) are still providing Python 2.7 as the default interpreter.
  40. Python 3 is recommended instead and can be installed in old distributions as follows, or please consult the documentation of your operating system for other recommended ways to achieve this::
  41. sudo apt-get install python3 python3-pip python3-setuptools
  42. Making Python 3 the default interpreter is possible by running::
  43. sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 10 && alias pip=pip3
  44. .. note::
  45. This is system-wide change which may affect all of the applications.
  46. Fixing broken pip on Ubuntu 16.04
  47. =================================
  48. Package ``python3-pip`` could be broken without possibility to upgrade it.
  49. Package has to be removed and installed manually using script `get-pip.py <https://bootstrap.pypa.io/get-pip.py>`_.::
  50. apt remove python3-pip python3-virtualenv; rm -r ~/.local
  51. rm -r ~/.espressif/python_env && python get-pip.py
  52. Python 2 deprecation
  53. ====================
  54. Python 2 reached its `end of life <https://www.python.org/doc/sunset-python-2/>`_ and support for it in ESP-IDF will be removed soon. Please install Python 3.6 or higher. Instructions for popular Linux distributions are listed above.
  55. Next Steps
  56. ==========
  57. To carry on with development environment setup, proceed to :ref:`get-started-get-esp-idf`.
  58. .. _AUR: https://wiki.archlinux.org/index.php/Arch_User_Repository