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