// -*- mode:doc; -*- // vim: set syntax=asciidoc: [[requirement]] == System requirements Buildroot is designed to run on Linux systems. While Buildroot itself will build most host packages it needs for the compilation, certain standard Linux utilities are expected to be already installed on the host system. Below you will find an overview of the mandatory and optional packages (note that package names may vary between distributions). [[requirement-mandatory]] === Mandatory packages * Build tools: ** +which+ ** +sed+ ** +make+ (version 3.81 or any later) ** +binutils+ ** +build-essential+ (only for Debian based systems) ** +diffutils+ ** +gcc+ (version 4.8 or any later) ** `g++` (version 4.8 or any later) ** +bash+ ** +patch+ ** +gzip+ ** +bzip2+ ** +perl+ (version 5.8.7 or any later) ** +tar+ ** +cpio+ ** +unzip+ ** +rsync+ ** +file+ (must be in +/usr/bin/file+) ** +bc+ ** +findutils+ * Source fetching tools: ** +wget+ [[requirement-optional]] === Optional packages * Recommended dependencies: + Some features or utilities in Buildroot, like the legal-info, or the graph generation tools, have additional dependencies. Although they are not mandatory for a simple build, they are still highly recommended: + ** +python+ (version 2.7 or any later) * Configuration interface dependencies: + For these libraries, you need to install both runtime and development data, which in many distributions are packaged separately. The development packages typically have a _-dev_ or _-devel_ suffix. + ** +ncurses5+ to use the 'menuconfig' interface ** +qt5+ to use the 'xconfig' interface ** +glib2+, +gtk2+ and +glade2+ to use the 'gconfig' interface * Source fetching tools: + In the official tree, most of the package sources are retrieved using +wget+ from _ftp_, _http_ or _https_ locations. A few packages are only available through a version control system. Moreover, Buildroot is capable of downloading sources via other tools, like +rsync+ or +scp+ (refer to xref:download-infra[] for more details). If you enable packages using any of these methods, you will need to install the corresponding tool on the host system: + ** +bazaar+ ** +cvs+ ** +git+ ** +mercurial+ ** +rsync+ ** +scp+ ** +sftp+ ** +subversion+ * Java-related packages, if the Java Classpath needs to be built for the target system: ** The +javac+ compiler ** The +jar+ tool * Documentation generation tools: ** +asciidoc+, version 8.6.3 or higher ** +w3m+ ** +python+ with the +argparse+ module (automatically present in 2.7+ and 3.2+) ** +dblatex+ (required for the pdf manual only) * Graph generation tools: ** +graphviz+ to use 'graph-depends' and '-graph-depends' ** +python-matplotlib+ to use 'graph-build'