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** +diffutils+ 27** +gcc+ (version 4.8 or any later) 28** `g++` (version 4.8 or any later) 29** +bash+ 30** +patch+ 31** +gzip+ 32** +bzip2+ 33** +perl+ (version 5.8.7 or any later) 34** +tar+ 35** +cpio+ 36** +unzip+ 37** +rsync+ 38** +file+ (must be in +/usr/bin/file+) 39** +bc+ 40** +findutils+ 41 42* Source fetching tools: 43** +wget+ 44 45[[requirement-optional]] 46 47=== Optional packages 48 49* Recommended dependencies: 50+ 51Some features or utilities in Buildroot, like the legal-info, or the 52graph generation tools, have additional dependencies. Although they 53are not mandatory for a simple build, they are still highly recommended: 54+ 55** +python+ (version 2.7 or any later) 56 57* Configuration interface dependencies: 58+ 59For these libraries, you need to install both runtime and development 60data, which in many distributions are packaged separately. The 61development packages typically have a _-dev_ or _-devel_ suffix. 62+ 63** +ncurses5+ to use the 'menuconfig' interface 64** +qt5+ to use the 'xconfig' interface 65** +glib2+, +gtk2+ and +glade2+ to use the 'gconfig' interface 66 67* Source fetching tools: 68+ 69In the official tree, most of the package sources are retrieved using 70+wget+ from _ftp_, _http_ or _https_ locations. A few packages are only 71available through a version control system. Moreover, Buildroot is 72capable of downloading sources via other tools, like +git+ or +scp+ 73(refer to xref:download-infra[] for more details). If you enable 74packages using any of these methods, you will need to install the 75corresponding tool on the host system: 76+ 77** +bazaar+ 78** +cvs+ 79** +git+ 80** +mercurial+ 81** +scp+ 82** +sftp+ 83** +subversion+ 84 85* Java-related packages, if the Java Classpath needs to be built for 86 the target system: 87** The +javac+ compiler 88** The +jar+ tool 89 90* Documentation generation tools: 91** +asciidoc+, version 8.6.3 or higher 92** +w3m+ 93** +python+ with the +argparse+ module (automatically present in 2.7+ and 3.2+) 94** +dblatex+ (required for the pdf manual only) 95 96* Graph generation tools: 97** +graphviz+ to use 'graph-depends' and '<pkg>-graph-depends' 98** +python-matplotlib+ to use 'graph-build' 99 100* Package statistics tools ('pkg-stats'): 101** +python-aiohttp+ 102