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

Side by Side Diff: docs/linux_build_instructions_prerequisites.md

Issue 1324603002: [Docs] Another round of stylistic fixes. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 3 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_building_debug_gtk.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
2
1 This page describes system requirements for building Chromium on Linux. 3 This page describes system requirements for building Chromium on Linux.
2 4
5 [TOC]
3 6
7 ## System Requirements
4 8
5 # System Requirements 9 ### Linux distribution
6 10
7 ## Linux distribution 11 You should be able to build Chromium on any reasonably modern Linux
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. 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.
9 16
10 ## Disk space 17 ### 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 18
13 ## Memory space 19 It takes about 10GB or so of disk space to check out and build the source tree.
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. 20 This number grows over time.
15 21
16 ## 64-bit Systems 22 ### Memory space
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 23
19 ## Depot tools 24 It takes about 8GB of swap file to link chromium and its tests. If you get an
20 Before setting up the environment, make sure you install the [depot tools](http: //dev.chromium.org/developers/how-tos/depottools) first. 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.
21 30
22 # Software Requirements 31 ### 64-bit Systems
23 32
24 ## Ubuntu Setup 33 Chromium can be compiled as either a 32-bit or 64-bit application. Chromium
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. 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.
26 38
27 Building on Linux requires software not usually installed with the distributions . 39 ### Depot tools
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 40
30 ## Other distributions 41 Before setting up the environment, make sure you install the
31 Note: Other distributions are not officially supported for building and the inst ructions below might be outdated. 42 [depot tools](http://dev.chromium.org/developers/how-tos/depottools) first.
32 43
33 ### Debian Setup 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
34 64
35 Follow the Ubuntu instructions above. 65 Follow the Ubuntu instructions above.
36 66
37 If you want to install the build-deps manually, note that the original packages are for Ubuntu. Here are the Debian equivalents: 67 If you want to install the build-deps manually, note that the original packages
38 * libexpat-dev -> libexpat1-dev 68 are for Ubuntu. Here are the Debian equivalents:
39 * freetype-dev -> libfreetype6-dev
40 * libbzip2-dev -> libbz2-dev
41 * libcupsys2-dev -> libcups2-dev
42 69
43 Additionally, if you're building Chromium components for Android, you'll need to install the package: lib32z1 70 * libexpat-dev -> libexpat1-dev
71 * freetype-dev -> libfreetype6-dev
72 * libbzip2-dev -> libbz2-dev
73 * libcupsys2-dev -> libcups2-dev
44 74
45 ### openSUSE Setup 75 Additionally, if you're building Chromium components for Android, you'll need to
76 install the package: lib32z1
46 77
47 For openSUSE 11.0 and later, see [Linux openSUSE Build Instructions](LinuxOpenSu seBuildInstructions.md). 78 #### openSUSE Setup
48 79
49 ### Fedora Setup 80 For openSUSE 11.0 and later, see
81 [Linux openSUSE Build Instructions](linux_open_suse_build_instructions.md).
82
83 #### Fedora Setup
50 84
51 Recent systems: 85 Recent systems:
52 ``` 86
87 ```shell
53 su -c 'yum install subversion pkgconfig python perl gcc-c++ bison \ 88 su -c 'yum install subversion pkgconfig python perl gcc-c++ bison \
54 flex gperf nss-devel nspr-devel gtk2-devel glib2-devel freetype-devel \ 89 flex gperf nss-devel nspr-devel gtk2-devel glib2-devel freetype-devel \
55 atk-devel pango-devel cairo-devel fontconfig-devel GConf2-devel \ 90 atk-devel pango-devel cairo-devel fontconfig-devel GConf2-devel \
56 dbus-devel alsa-lib-devel libX11-devel expat-devel bzip2-devel \ 91 dbus-devel alsa-lib-devel libX11-devel expat-devel bzip2-devel \
57 dbus-glib-devel elfutils-libelf-devel libjpeg-devel \ 92 dbus-glib-devel elfutils-libelf-devel libjpeg-devel \
58 mesa-libGLU-devel libXScrnSaver-devel \ 93 mesa-libGLU-devel libXScrnSaver-devel \
59 libgnome-keyring-devel cups-devel libXtst-devel libXt-devel pam-devel' 94 libgnome-keyring-devel cups-devel libXtst-devel libXt-devel pam-devel'
60 ``` 95 ```
61 96
62 The msttcorefonts packages can be obtained by following the instructions present here: http://www.fedorafaq.org/#installfonts 97 The msttcorefonts packages can be obtained by following the instructions present
98 here: http://www.fedorafaq.org/#installfonts
63 99
64 For the optional packages: 100 For the optional packages:
65 * php-cgi is provided by the php-cli package 101 * php-cgi is provided by the php-cli package
66 * wdiff doesn't exist in Fedora repositories, a possible alternative would be dwdiff 102 * wdiff doesn't exist in Fedora repositories, a possible alternative would be
67 * sun-java6-fonts doesn't exist in Fedora repositories, needs investigating 103 dwdiff
104 * sun-java6-fonts doesn't exist in Fedora repositories, needs investigating
68 105
69 ``` 106 su -c 'yum install httpd mod_ssl php php-cli wdiff'
70 su -c 'yum install httpd mod_ssl php php-cli wdiff'
71 ```
72 107
73 ### Arch Linux Setup 108
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. 109 #### Arch Linux Setup
75 ``` 110
76 $ sudo pacman -S --needed python perl gcc gcc-libs bison flex gperf pkgconfig ns s \ 111 Most of these packages are probably already installed since they're often used,
77 alsa-lib gconf glib2 gtk2 nspr ttf-ms-fonts freetype2 cairo dbus \ 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 \
78 libgnome-keyring 117 libgnome-keyring
79 ``` 118 ```
80 119
81 For the optional packages on Arch Linux: 120 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 121
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. 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.
87 126
88 TODO: Figure out how to make it build with the WebCore debug symbols. `make V=1` can be useful for solving the problem. 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.
89 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.
90 132
91 ### Mandriva setup 133 #### Mandriva setup
92 134
93 ``` 135 ```shell
94 urpmi lib64fontconfig-devel lib64alsa2-devel lib64dbus-1-devel lib64GConf2-devel \ 136 urpmi lib64fontconfig-devel lib64alsa2-devel lib64dbus-1-devel \
95 lib64freetype6-devel lib64atk1.0-devel lib64gtk+2.0_0-devel lib64pango1.0-devel \ 137 lib64GConf2-devel lib64freetype6-devel lib64atk1.0-devel lib64gtk+2.0_0-devel \
96 lib64cairo-devel lib64nss-devel lib64nspr-devel g++ python perl bison flex subve rsion \ 138 lib64pango1.0-devel lib64cairo-devel lib64nss-devel lib64nspr-devel g++ python \
97 gperf 139 perl bison flex subversion gperf
98 ``` 140 ```
99 141
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 142 Note 1: msttcorefonts are not available, you will need to build your own (see
143 instructions, not hard to do, see
144 [mandriva_msttcorefonts.md](mandriva_msttcorefonts.md)) or use drakfont to
145 import the fonts from a windows installation
101 146
102 Note 2: these packages are for 64 bit, to download the 32 bit packages, substitu te lib64 with lib 147 Note 2: these packages are for 64 bit, to download the 32 bit packages,
148 substitute lib64 with lib
103 149
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. 150 Note 3: some of these packages might not be explicitly necessary as they come as
151 dependencies, there is no harm in including them however.
105 152
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: 153 Note 4: to build on 64 bit systems use, instead of
154 `GYP_DEFINES=target_arch=x64`, as mentioned in the general notes for building on
155 64 bit:
107 156
108 ``` 157 ```shell
109 export GYP_DEFINES="target_arch=x64" 158 export GYP_DEFINES="target_arch=x64"
110 gclient runhooks --force 159 gclient runhooks --force
111 ``` 160 ```
112 161
113 ### Gentoo setup 162 #### Gentoo setup
114 ``` 163
115 emerge www-client/chromium 164 emerge www-client/chromium
116 ```
OLDNEW
« no previous file with comments | « docs/linux_build_instructions.md ('k') | docs/linux_building_debug_gtk.md » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698