# MacOS Development Environment
The following instructions set up a PX4 development environment for macOS. This environment can be used to build PX4 for:
Apple M1 Macbook users! If you have an Apple M1 Macbook, make sure to run the terminal as x86 by setting up an x86 terminal:
- Locate the Terminal application within the Utilities folder (Finder > Go menu > Utilities)
- Select Terminal.app and right-click on it, then choose Duplicate.
- Rename the duplicated Terminal app, e.g. to x86 Terminal
- Now select the renamed x86 Terminal app and right-click and choose *Get Info
- Check the box for Open using Rosetta, then close the window
- Run the x86 Terminal` as usual, which will fully support the current PX4 toolchain
# Video Guide
# Homebrew Installation
The installation of Homebrew is quick and easy: installation instructions (opens new window).
# Enable more open files (Handle "LD: too many open files" error)
~/.zshenv file or append it (by running
open ~/.zshenv on the terminal) and add this line:
brew tap PX4/px4 brew install px4-dev # Optional, but recommended additional simulation tools: brew install px4-sim
# Enforce Python Version
Once you have finished setting up the environment, continue to the build instructions.
brew cask install xquartz java
# Common Tools
After installing Homebrew, run these commands in your shell to install the common tools:
sudo easy_install pip sudo -H pip install pyserial empy toml numpy pandas jinja2 pyyaml
Install the required Python packages
# install required packages using pip3 python3 -m pip install --user pyserial empy toml numpy pandas jinja2 pyyaml pyros-genmsg packaging # if this fails with a permissions error, your Python install is in a system path - use this command instead: sudo -H python3 -m pip install --user pyserial empy toml numpy pandas jinja2 pyyaml pyros-genmsg packaging
# Gazebo Simulation
To install SITL simulation with Gazebo:
brew install --cask xquartz brew install px4-sim-gazebo
# jMAVSim Simulation
To use SITL simulation with jMAVSim you need to install a recent version of Java (e.g. Java 15). You can download Java 15 (or later) from Oracle (opens new window) or use the AdoptOpenJDK tap:
brew tap AdoptOpenJDK/openjdk brew install --cask adoptopenjdk15
brew install px4-sim-jmavsim
jMAVSim for PX4 v1.11 and beyond we require at least JDK 15.
For earlier versions macOS users might see the error
Exception in thread "main" java.lang.UnsupportedClassVersionError:. You can find the fix in the jMAVSim with SITL > Troubleshooting).
# Next Steps
Once you have finished setting up the command-line toolchain:
- Install VSCode (if you prefer using an IDE to the command line).
- Install the QGroundControl Daily Build (opens new window) :::tip The daily build includes development tools that are hidden in release builds. It may also provide access to new PX4 features that are not yet supported in release builds. :::
- Continue to the build instructions.