Standard Setup of Toolchain for Linux

[中文]

Install Prerequisites

To compile with ESP-IDF you need to get the following packages:

  • CentOS 7:

    sudo yum -y update && sudo yum install git wget flex bison gperf python3 python3-pip python3-setuptools cmake ninja-build ccache
    

CentOS 7 is still supported but CentOS version 8 is recommended for a better user experience.

  • Ubuntu and Debian:

    sudo apt-get install git wget flex bison gperf python3 python3-pip python3-setuptools cmake ninja-build ccache libffi-dev libssl-dev dfu-util
    
  • Arch:

    sudo pacman -S --needed gcc git make ncurses flex bison gperf python-pip cmake ninja ccache
    

Note

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”.

Additional Tips

Permission issues /dev/ttyUSB0

With some Linux distributions you may get the Failed to open port /dev/ttyUSB0 error message when flashing the ESP32. This can be solved by adding the current user to the dialout group.

Arch Linux Users

To run the precompiled gdb (xtensa-esp32-elf-gdb) in Arch Linux requires ncurses 5, but Arch uses ncurses 6.

Backwards compatibility libraries are available in AUR for native and lib32 configurations:

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.

Alternatively, use crosstool-NG to compile a gdb that links against ncurses 6.

Fixing broken pip on Ubuntu 16.04

Package python3-pip could be broken without possibility to upgrade it. Package has to be removed and installed manually using script get-pip.py.:

apt remove python3-pip python3-virtualenv; rm -r ~/.local
rm -r ~/.espressif/python_env && python get-pip.py

Python 2 deprecation

Python 2 reached its end of life 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.

Next Steps

To carry on with development environment setup, proceed to Step 2. Get ESP-IDF.