Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(299)

Side by Side Diff: docs/linux_build_instructions_prerequisites.md

Issue 2014753002: Update build instructions for Linux and Windows. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « docs/linux_build_instructions.md ('k') | docs/linux_faster_builds.md » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Linux Build Instructions Prerequisites 1 # Linux Build Instructions Prerequisites
2 2
3 This page describes system requirements for building Chromium on Linux. 3 The contents of this page have been folded into the
4 [Linux build instructions](linux_build_instructions.md).
4 5
5 [TOC] 6 This file will be deleted in the future, please update your links.
6 7
7 ## System Requirements
8
9 ### Linux distribution
10
11 You should be able to build Chromium on any reasonably modern Linux
12 distribution, but there are a lot of distributions and we sometimes break things
13 on one or another. Internally, our development platform has been a variant of
14 Ubuntu 14.04 (Trusty Tahr); we expect you will have the most luck on this
15 platform, although directions for other popular platforms are included below.
16
17 ### Disk space
18
19 It takes about 10GB or so of disk space to check out and build the source tree.
20 This number grows over time.
21
22 ### Memory space
23
24 It takes about 8GB of swap file to link chromium and its tests. If you get an
25 out-of-memory error during the final link, you will need to add swap space with
26 swapon. It's recommended to have at least 4GB of memory available for building a
27 statically linked debug build. Dynamic linking and/or building a release build
28 lowers memory requirements. People with less than 8GB of memory may want to not
29 build tests since they are quite large.
30
31 ### 64-bit Systems
32
33 Chromium can be compiled as either a 32-bit or 64-bit application. Chromium
34 requires several system libraries to compile and run. While it is possible to
35 compile and run a 32-bit Chromium on 64-bit Linux, many distributions are
36 missing the necessary 32-bit libraries, and will result in build or run-time
37 errors.
38
39 ### Depot tools
40
41 Before setting up the environment, make sure you install the
42 [depot tools](http://dev.chromium.org/developers/how-tos/depottools) first.
43
44 ## Software Requirements
45
46 ### Ubuntu Setup
47
48 Run [build/install-build-deps.sh](/build/install-build-deps.sh) The script only
49 supports current releases as listed on https://wiki.ubuntu.com/Releases.
50
51 Building on Linux requires software not usually installed with the
52 distributions.
53
54 The script attempts to automate installing the required software. This script is
55 used to set up the canonical builders, and as such is the most up to date
56 reference for the required prerequisites.
57
58 ### Other distributions
59
60 Note: Other distributions are not officially supported for building and the
61 instructions below might be outdated.
62
63 #### Debian Setup
64
65 Follow the Ubuntu instructions above.
66
67 If you want to install the build-deps manually, note that the original packages
68 are for Ubuntu. Here are the Debian equivalents:
69
70 * libexpat-dev -> libexpat1-dev
71 * freetype-dev -> libfreetype6-dev
72 * libbzip2-dev -> libbz2-dev
73 * libcupsys2-dev -> libcups2-dev
74
75 Additionally, if you're building Chromium components for Android, you'll need to
76 install the package: lib32z1
77
78 #### openSUSE Setup
79
80 For openSUSE 11.0 and later, see
81 [Linux openSUSE Build Instructions](linux_open_suse_build_instructions.md).
82
83 #### Fedora Setup
84
85 Recent systems:
86
87 ```shell
88 su -c 'yum install subversion pkgconfig python perl gcc-c++ bison \
89 flex gperf nss-devel nspr-devel gtk2-devel glib2-devel freetype-devel \
90 atk-devel pango-devel cairo-devel fontconfig-devel GConf2-devel \
91 dbus-devel alsa-lib-devel libX11-devel expat-devel bzip2-devel \
92 dbus-glib-devel elfutils-libelf-devel libjpeg-devel \
93 mesa-libGLU-devel libXScrnSaver-devel \
94 libgnome-keyring-devel cups-devel libXtst-devel libXt-devel pam-devel'
95 ```
96
97 The msttcorefonts packages can be obtained by following the instructions present
98 here: http://www.fedorafaq.org/#installfonts
99
100 For the optional packages:
101
102 * php-cgi is provided by the php-cli package
103 * wdiff doesn't exist in Fedora repositories, a possible alternative would be
104 dwdiff
105 * sun-java6-fonts doesn't exist in Fedora repositories, needs investigating
106
107 su -c 'yum install httpd mod_ssl php php-cli wdiff'
108
109 #### Arch Linux Setup
110
111 Most of these packages are probably already installed since they're often used,
112 and the parameter --needed ensures that packages up to date are not reinstalled.
113
114 ```shell
115 sudo pacman -S --needed python perl gcc gcc-libs bison flex gperf pkgconfig \
116 nss alsa-lib gconf glib2 gtk2 nspr ttf-ms-fonts freetype2 cairo dbus \
117 libgnome-keyring
118 ```
119
120 For the optional packages on Arch Linux:
121
122 * php-cgi is provided with pacman
123 * wdiff is not in the main repository but dwdiff is. You can get wdiff in
124 AUR/yaourt
125 * sun-java6-fonts do not seem to be in main repository or AUR.
126
127 For a successful build, add `'remove_webcore_debug_symbols': 1,` to the
128 variables-object in include.gypi. Tested on 64-bit Arch Linux.
129
130 TODO: Figure out how to make it build with the WebCore debug symbols. `make V=1`
131 can be useful for solving the problem.
132
133 #### Mandriva setup
134
135 ```shell
136 urpmi lib64fontconfig-devel lib64alsa2-devel lib64dbus-1-devel \
137 lib64GConf2-devel lib64freetype6-devel lib64atk1.0-devel lib64gtk+2.0_0-devel \
138 lib64pango1.0-devel lib64cairo-devel lib64nss-devel lib64nspr-devel g++ python \
139 perl bison flex subversion gperf
140 ```
141
142 *** note
143 Note 1: msttcorefonts are not available, you will need to build your own (see
144 instructions, not hard to do, see
145 [mandriva_msttcorefonts.md](mandriva_msttcorefonts.md)) or use drakfont to
146 import the fonts from a windows installation
147 ***
148
149 *** note
150 Note 2: these packages are for 64 bit, to download the 32 bit packages,
151 substitute lib64 with lib
152 ***
153
154 *** note
155 Note 3: some of these packages might not be explicitly necessary as they come as
156 dependencies, there is no harm in including them however.
157 ***
158
159 #### Gentoo setup
160
161 emerge www-client/chromium
OLDNEW
« no previous file with comments | « docs/linux_build_instructions.md ('k') | docs/linux_faster_builds.md » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698