1// -*- mode:doc; -*- 2// vim: set syntax=asciidoc: 3 4[[requirement]] 5== System requirements 6 7Buildroot is designed to run on Linux systems. 8 9While Buildroot itself will build most host packages it needs for the 10compilation, certain standard Linux utilities are expected to be 11already installed on the host system. Below you will find an overview of 12the mandatory and optional packages (note that package names may vary 13between distributions). 14 15[[requirement-mandatory]] 16 17=== Mandatory packages 18 19* Build tools: 20 21** +which+ 22** +sed+ 23** +make+ (version 3.81 or any later) 24** +binutils+ 25** +build-essential+ (only for Debian based systems) 26** +gcc+ (version 4.8 or any later) 27** `g++` (version 4.8 or any later) 28** +bash+ 29** +patch+ 30** +gzip+ 31** +bzip2+ 32** +perl+ (version 5.8.7 or any later) 33** +tar+ 34** +cpio+ 35** +unzip+ 36** +rsync+ 37** +file+ (must be in +/usr/bin/file+) 38** +bc+ 39 40* Source fetching tools: 41** +wget+ 42 43[[requirement-optional]] 44 45=== Optional packages 46 47* Recommended dependencies: 48+ 49Some features or utilities in Buildroot, like the legal-info, or the 50graph generation tools, have additional dependencies. Although they 51are not mandatory for a simple build, they are still highly recommended: 52+ 53** +python+ (version 2.7 or any later) 54 55* Configuration interface dependencies: 56+ 57For these libraries, you need to install both runtime and development 58data, which in many distributions are packaged separately. The 59development packages typically have a _-dev_ or _-devel_ suffix. 60+ 61** +ncurses5+ to use the 'menuconfig' interface 62** +qt5+ to use the 'xconfig' interface 63** +glib2+, +gtk2+ and +glade2+ to use the 'gconfig' interface 64 65* Source fetching tools: 66+ 67In the official tree, most of the package sources are retrieved using 68+wget+ from _ftp_, _http_ or _https_ locations. A few packages are only 69available through a version control system. Moreover, Buildroot is 70capable of downloading sources via other tools, like +rsync+ or +scp+ 71(refer to xref:download-infra[] for more details). If you enable 72packages using any of these methods, you will need to install the 73corresponding tool on the host system: 74+ 75** +bazaar+ 76** +cvs+ 77** +git+ 78** +mercurial+ 79** +rsync+ 80** +scp+ 81** +subversion+ 82 83* Java-related packages, if the Java Classpath needs to be built for 84 the target system: 85** The +javac+ compiler 86** The +jar+ tool 87 88* Documentation generation tools: 89** +asciidoc+, version 8.6.3 or higher 90** +w3m+ 91** +python+ with the +argparse+ module (automatically present in 2.7+ and 3.2+) 92** +dblatex+ (required for the pdf manual only) 93 94* Graph generation tools: 95** +graphviz+ to use 'graph-depends' and '<pkg>-graph-depends' 96** +python-matplotlib+ to use 'graph-build' 97