OLD | NEW |
(Empty) | |
| 1 This page describes system requirements for building Chromium on Linux. |
| 2 |
| 3 |
| 4 |
| 5 # System Requirements |
| 6 |
| 7 ## Linux distribution |
| 8 You should be able to build Chromium on any reasonably modern Linux distribution
, but there are a lot of distributions and we sometimes break things on one or a
nother. Internally, our development platform has been a variant of Ubuntu 14.04
(Trusty Tahr); we expect you will have the most luck on this platform, although
directions for other popular platforms are included below. |
| 9 |
| 10 ## Disk space |
| 11 It takes about 10GB or so of disk space to check out and build the source tree.
This number grows over time. |
| 12 |
| 13 ## Memory space |
| 14 It takes about 8GB of swap file to link chromium and its tests. If you get an ou
t-of-memory error during the final link, you will need to add swap space with sw
apon. It's recommended to have at least 4GB of memory available for building a s
tatically linked debug build. Dynamic linking and/or building a release build lo
wers memory requirements. People with less than 8GB of memory may want to not bu
ild tests since they are quite large. |
| 15 |
| 16 ## 64-bit Systems |
| 17 Chromium can be compiled as either a 32-bit or 64-bit application. Chromium requ
ires several system libraries to compile and run. While it is possible to compil
e and run a 32-bit Chromium on 64-bit Linux, many distributions are missing the
necessary 32-bit libraries, and will result in build or run-time errors. |
| 18 |
| 19 ## Depot tools |
| 20 Before setting up the environment, make sure you install the [depot tools](http:
//dev.chromium.org/developers/how-tos/depottools) first. |
| 21 |
| 22 # Software Requirements |
| 23 |
| 24 ## Ubuntu Setup |
| 25 Run [build/install-build-deps.sh](https://chromium.googlesource.com/chromium/chr
omium/+/trunk/build/install-build-deps.sh) The script only supports current rele
ases as listed on https://wiki.ubuntu.com/Releases. |
| 26 |
| 27 Building on Linux requires software not usually installed with the distributions
. |
| 28 The script attempts to automate installing the required software. This script i
s used to set up the canonical builders, and as such is the most up to date refe
rence for the required prerequisites. |
| 29 |
| 30 ## Other distributions |
| 31 Note: Other distributions are not officially supported for building and the inst
ructions below might be outdated. |
| 32 |
| 33 ### Debian Setup |
| 34 |
| 35 Follow the Ubuntu instructions above. |
| 36 |
| 37 If you want to install the build-deps manually, note that the original packages
are for Ubuntu. Here are the Debian equivalents: |
| 38 * libexpat-dev -> libexpat1-dev |
| 39 * freetype-dev -> libfreetype6-dev |
| 40 * libbzip2-dev -> libbz2-dev |
| 41 * libcupsys2-dev -> libcups2-dev |
| 42 |
| 43 Additionally, if you're building Chromium components for Android, you'll need to
install the package: lib32z1 |
| 44 |
| 45 ### openSUSE Setup |
| 46 |
| 47 For openSUSE 11.0 and later, see [Linux openSUSE Build Instructions](LinuxOpenSu
seBuildInstructions.md). |
| 48 |
| 49 ### Fedora Setup |
| 50 |
| 51 Recent systems: |
| 52 ``` |
| 53 su -c 'yum install subversion pkgconfig python perl gcc-c++ bison \ |
| 54 flex gperf nss-devel nspr-devel gtk2-devel glib2-devel freetype-devel \ |
| 55 atk-devel pango-devel cairo-devel fontconfig-devel GConf2-devel \ |
| 56 dbus-devel alsa-lib-devel libX11-devel expat-devel bzip2-devel \ |
| 57 dbus-glib-devel elfutils-libelf-devel libjpeg-devel \ |
| 58 mesa-libGLU-devel libXScrnSaver-devel \ |
| 59 libgnome-keyring-devel cups-devel libXtst-devel libXt-devel pam-devel' |
| 60 ``` |
| 61 |
| 62 The msttcorefonts packages can be obtained by following the instructions present
here: http://www.fedorafaq.org/#installfonts |
| 63 |
| 64 For the optional packages: |
| 65 * php-cgi is provided by the php-cli package |
| 66 * wdiff doesn't exist in Fedora repositories, a possible alternative would be
dwdiff |
| 67 * sun-java6-fonts doesn't exist in Fedora repositories, needs investigating |
| 68 |
| 69 ``` |
| 70 su -c 'yum install httpd mod_ssl php php-cli wdiff' |
| 71 ``` |
| 72 |
| 73 ### Arch Linux Setup |
| 74 Most of these packages are probably already installed since they're often used,
and the parameter --needed ensures that packages up to date are not reinstalled. |
| 75 ``` |
| 76 $ sudo pacman -S --needed python perl gcc gcc-libs bison flex gperf pkgconfig ns
s \ |
| 77 alsa-lib gconf glib2 gtk2 nspr ttf-ms-fonts freetype2 cairo dbus \ |
| 78 libgnome-keyring |
| 79 ``` |
| 80 |
| 81 For the optional packages on Arch Linux: |
| 82 * php-cgi is provided with pacman |
| 83 * wdiff is not in the main repository but dwdiff is. You can get wdiff in AUR/
yaourt |
| 84 * sun-java6-fonts do not seem to be in main repository or AUR. |
| 85 |
| 86 For a successful build, add `'remove_webcore_debug_symbols': 1,` to the variable
s-object in include.gypi. Tested on 64-bit Arch Linux. |
| 87 |
| 88 TODO: Figure out how to make it build with the WebCore debug symbols. `make V=1`
can be useful for solving the problem. |
| 89 |
| 90 |
| 91 ### Mandriva setup |
| 92 |
| 93 ``` |
| 94 urpmi lib64fontconfig-devel lib64alsa2-devel lib64dbus-1-devel lib64GConf2-devel
\ |
| 95 lib64freetype6-devel lib64atk1.0-devel lib64gtk+2.0_0-devel lib64pango1.0-devel
\ |
| 96 lib64cairo-devel lib64nss-devel lib64nspr-devel g++ python perl bison flex subve
rsion \ |
| 97 gperf |
| 98 ``` |
| 99 |
| 100 Note 1: msttcorefonts are not available, you will need to build your own (see in
structions, not hard to do, see http://code.google.com/p/chromium/wiki/MandrivaM
sttcorefonts ) or use drakfont to import the fonts from a windows installation |
| 101 |
| 102 Note 2: these packages are for 64 bit, to download the 32 bit packages, substitu
te lib64 with lib |
| 103 |
| 104 Note 3: some of these packages might not be explicitly necessary as they come as
dependencies, there is no harm in including them however. |
| 105 |
| 106 Note 4: to build on 64 bit systems use, instead of GYP\_DEFINES=target\_arch=x64
, as mentioned in the general notes for building on 64 bit: |
| 107 |
| 108 ``` |
| 109 export GYP_DEFINES="target_arch=x64" |
| 110 gclient runhooks --force |
| 111 ``` |
| 112 |
| 113 ### Gentoo setup |
| 114 ``` |
| 115 emerge www-client/chromium |
| 116 ``` |
OLD | NEW |