CentOS Linux

:::warning This development environment is not supported. See Toolchain Installation for information about the environments and tools we do support! :::

The build requires Python 2.7.5. Therefore as of this writing Centos 7 should be used. (For earlier Centos releases a side-by-side install of python v2.7.5 may be done. But it is not recommended because it can break yum.)

Common Dependencies

The EPEL repositories are required for openocd libftdi-devel libftdi-python

wget https://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
sudo yum install epel-release-7-5.noarch.rpm
yum update
yum groupinstall “Development Tools”
yum install python-setuptools python-numpy
easy_install pyserial
easy_install pexpect
easy_install toml
easy_install pyyaml
easy_install cerberus
yum install openocd libftdi-devel libftdi-python python-argparse flex bison-devel ncurses-devel ncurses-libs autoconf texinfo libtool zlib-devel cmake vim-common

:::note You may want to also install python-pip and screen. :::

GCC Toolchain Installation

Execute the script below to install GCC 7-2017-q4:

:::warning This version of GCC is out of date. At time of writing the current version on Ubuntu is 9-2020-q2-update (see focal nuttx docker file) :::

Now restart your machine.

Troubleshooting

Check the version by entering the following command:

The output should be something similar to:

Ninja Build System

Ninja is a faster build system than Make and the PX4 CMake generators support it.

On Ubuntu Linux you can install this automatically from normal repos.

Other systems may not include Ninja in the package manager. In this case an alternative is to download the binary and add it to your path:

Last updated