Chapter 1. Get Started
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 ncurses-devel flex bison gperf␣
,→python3 python3-pip cmake ninja-build ccache dfu-util libusbx
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 libncurses-dev flex bison gperf python3 python3-
,→pip python3-setuptools python3-serial python3-cryptography python3-future␣
,→python3-pyparsing python3-pyelftools cmake ninja-build ccache libffi-dev␣
,→libssl-dev dfu-util libusb-1.0-0
• Arch:
sudo pacman -Sy --needed gcc git make ncurses flex bison gperf python-pyserial␣
,→python-cryptography python-future python-pyparsing python-pyelftools cmake␣
,→ninja ccache dfu-util libusb
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”.
Compile the Toolchain from Source
• Install dependencies:
– CentOS 7:
sudo yum install gawk gperf grep gettext ncurses-devel python3 python3-
,→devel automake bison flex texinfo help2man libtool make
– Ubuntu pre-16.04:
sudo apt-get install gawk gperf grep gettext libncurses-dev python python-
,→dev automake bison flex texinfo help2man libtool make
– Ubuntu 16.04 or newer:
sudo apt-get install gawk gperf grep gettext python python-dev automake␣
,→bison flex texinfo help2man libtool libtool-bin make
– Debian 9:
sudo apt-get install gawk gperf grep gettext libncurses-dev python python-
,→dev automake bison flex texinfo help2man libtool libtool-bin make
– Arch:
sudo pacman -Sy --needed python-pip
Create the working directory and go into it:
mkdir -p ~/esp
cd ~/esp
Download crosstool-NG and build it:
git clone https://github.com/espressif/crosstool-NG.git
cd crosstool-NG
git checkout esp-2021r2
(continues on next page)
Espressif Systems 83
Submit Document Feedback
Release v4.4