2019-06-25 01:26:53 +00:00
***** ***** ***** ***** ***** ***** ***** ***** *****
Standard Setup of Toolchain for Linux
***** ***** ***** ***** ***** ***** ***** ***** *****
2019-06-25 01:29:49 +00:00
2018-04-27 06:46:13 +00:00
:link_to_translation:`zh_CN:[中文]`
2017-03-26 22:01:52 +00:00
Install Prerequisites
=====================
To compile with ESP-IDF you need to get the following packages:
- CentOS 7::
2019-06-25 01:29:49 +00:00
sudo yum install git wget ncurses-devel flex bison gperf python pyserial python-pyelftools cmake ninja-build ccache
2017-03-26 22:01:52 +00:00
- Ubuntu and Debian::
2019-06-25 01:29:49 +00:00
sudo apt-get install git wget libncurses-dev flex bison gperf python python-pip python-setuptools python-serial python-click python-cryptography python-future python-pyparsing python-pyelftools cmake ninja-build ccache
2017-03-26 22:01:52 +00:00
- Arch::
2019-06-25 01:29:49 +00:00
sudo pacman -S --needed gcc git make ncurses flex bison gperf python2-pip python2-pyserial python2-click python2-cryptography python2-future python2-pyparsing python2-pyelftools cmake ninja ccache
2017-03-26 22:01:52 +00:00
2018-08-15 07:52:07 +00:00
.. note ::
2019-06-25 01:29:49 +00:00
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".
2018-08-15 07:52:07 +00:00
2019-06-25 01:29:49 +00:00
Additional Tips
2017-03-26 22:01:52 +00:00
===============
2017-10-25 04:44:08 +00:00
Permission issues /dev/ttyUSB0
------------------------------
2019-06-25 01:26:53 +00:00
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>` .
2017-10-25 04:44:08 +00:00
2019-03-30 22:45:20 +00:00
ncurses 5 dependency
--------------------
2017-10-25 04:44:08 +00:00
2019-03-30 22:45:20 +00:00
To run the precompiled gdb (xtensa-esp32-elf-gdb) in Linux requires ncurses 5, but some newer distributions only provide ncurses 6 by default.
2017-03-26 22:01:52 +00:00
2019-03-30 22:45:20 +00:00
Consult your distribution's documentation to see if ncurses 5 libraries are available. Alternatively, use crosstool-NG to compile a gdb that links against ncurses 6.
2017-03-26 22:01:52 +00:00
2019-03-30 22:45:20 +00:00
For Arch Linux users, ncurses 5 libraries are available in AUR_ for native and lib32 configurations:
2017-03-26 22:01:52 +00:00
- https://aur.archlinux.org/packages/ncurses5-compat-libs/
- https://aur.archlinux.org/packages/lib32-ncurses5-compat-libs/
2017-09-22 21:38:08 +00:00
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.
2017-03-26 22:01:52 +00:00
Next Steps
==========
2019-06-25 01:26:53 +00:00
To carry on with development environment setup, proceed to :ref: `get-started-get-esp-idf` .
2017-03-26 22:01:52 +00:00
Related Documents
=================
.. toctree ::
:maxdepth: 1
linux-setup-scratch
.. _AUR: https://wiki.archlinux.org/index.php/Arch_User_Repository