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

Side by Side Diff: docs/old_linux_build_instructions.md

Issue 2544963002: Remove links to old build instructions. (Closed)
Patch Set: Created 4 years 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
OLDNEW
(Empty)
1 # Linux-specific build instructions
2
3 ## Common checkout instructions
4
5 This page covers Linux-specific setup and configuration. The
6 [general checkout
7 instructions](http://dev.chromium.org/developers/how-tos/get-the-code) cover
8 installing depot tools and checking out the code via git.
9
10 ## Overview
11
12 Due its complexity, Chromium uses a set of custom tools to check out and build
13 rather than configure/make like most projects. You _must_ use gclient and
14 ninja, and there is no "install" step provided.
15
16 ### System requirements
17
18 * **64-bits**: x86 builds are not supported on Linux.
19 * **Memory**: >16GB is highly recommended.
20 * **Disk space**: Expect a full checkout and build to take nearly 100GB.
21 * **Distribution**: You should be able to build Chromium on any reasonably mod ern Linux
22 distribution, but there are a lot of distributions and we sometimes break
23 things on one or another. Internally, our development platform has been a
24 variant of Ubuntu 14.04 (Trusty Tahr); we expect you will have the most
25 luck on this platform.
26
27 ## Software setup
28
29 Non-Ubuntu distributions are not officially supported for building and the
30 instructions below might be outdated.
31
32 ### Ubuntu
33
34 Once you have checked out the code, run
35 [build/install-build-deps.sh](/build/install-build-deps.sh) The script only
36 supports current releases as listed on https://wiki.ubuntu.com/Releases.
37 This script is used to set up the canonical builders, and as such is the most
38 up to date reference for the required prerequisites.
39
40 ### Debian
41
42 Follow the Ubuntu instructions above. If you want to install the build-deps
43 manually, note that the original packages are for Ubuntu. Here are the Debian
44 equivalents:
45
46 * libexpat-dev -> libexpat1-dev
47 * freetype-dev -> libfreetype6-dev
48 * libbzip2-dev -> libbz2-dev
49 * libcupsys2-dev -> libcups2-dev
50
51 Additionally, if you're building Chromium components for Android, you'll need to
52 install the package: lib32z1
53
54 ### openSUSE
55
56 For openSUSE 11.0 and later, see
57 [Linux openSUSE Build Instructions](linux_open_suse_build_instructions.md).
58
59 ### Fedora
60
61 Recent systems:
62
63 su -c 'yum install git python bzip2 tar pkgconfig atk-devel alsa-lib-devel \
64 bison binutils brlapi-devel bluez-libs-devel bzip2-devel cairo-devel \
65 cups-devel dbus-devel dbus-glib-devel expat-devel fontconfig-devel \
66 freetype-devel gcc-c++ GConf2-devel glib2-devel glibc.i686 gperf \
67 glib2-devel gtk2-devel gtk3-devel java-1.*.0-openjdk-devel libatomic \
68 libcap-devel libffi-devel libgcc.i686 libgnome-keyring-devel libjpeg-devel \
69 libstdc++.i686 libX11-devel libXScrnSaver-devel libXtst-devel \
70 libxkbcommon-x11-devel ncurses-compat-libs nspr-devel nss-devel pam-devel \
71 pango-devel pciutils-devel pulseaudio-libs-devel zlib.i686 httpd mod_ssl \
72 php php-cli python-psutil wdiff'
73
74 The msttcorefonts packages can be obtained by following the instructions
75 present [here](http://www.fedorafaq.org/#installfonts). For the optional
76 packages:
77
78 * php-cgi is provided by the php-cli package
79 * sun-java6-fonts doesn't exist in Fedora repositories, needs investigating
80
81 ### Arch Linux
82
83 Most of these packages are probably already installed since they're often used,
84 and the parameter --needed ensures that packages up to date are not reinstalled.
85
86 sudo pacman -S --needed python perl gcc gcc-libs bison flex gperf pkgconfig \
87 nss alsa-lib gconf glib2 gtk2 nspr ttf-ms-fonts freetype2 cairo dbus \
88 libgnome-keyring
89
90 For the optional packages on Arch Linux:
91
92 * php-cgi is provided with pacman
93 * wdiff is not in the main repository but dwdiff is. You can get wdiff in
94 AUR/yaourt
95 * sun-java6-fonts do not seem to be in main repository or AUR.
96
97 ### Mandriva
98
99 urpmi lib64fontconfig-devel lib64alsa2-devel lib64dbus-1-devel \
100 lib64GConf2-devel lib64freetype6-devel lib64atk1.0-devel lib64gtk+2.0_0-deve l \
101 lib64pango1.0-devel lib64cairo-devel lib64nss-devel lib64nspr-devel g++ pyth on \
102 perl bison flex subversion gperf
103
104 * msttcorefonts are not available, you will need to build your own (see
105 instructions, not hard to do, see
106 [mandriva_msttcorefonts.md](mandriva_msttcorefonts.md)) or use drakfont to
107 import the fonts from a windows installation
108 * These packages are for 64 bit, to download the 32 bit packages,
109 substitute lib64 with lib
110 * Some of these packages might not be explicitly necessary as they come as
111 dependencies, there is no harm in including them however.
112
113 ### Gentoo
114
115 emerge www-client/chromium
116
117 ## Troubleshooting
118
119 ### Linker Crashes
120
121 If, during the final link stage:
122
123 LINK out/Debug/chrome
124
125 You get an error like:
126
127 collect2: ld terminated with signal 6 Aborted terminate called after throwin g an
128 instance of 'std::bad_alloc'
129
130 collect2: ld terminated with signal 11 [Segmentation fault], core dumped
131
132 you are probably running out of memory when linking. You *must* use a 64-bit
133 system to build. Try the following build settings (see [GN build
134 configuration](https://www.chromium.org/developers/gn-build-configuration) for
135 setting):
136
137 * Build in release mode (debugging symbols require more memory).
138 `is_debug = false`
139 * Turn off symbols. `symbol_level = 0`
140 * Build in component mode (this is for developers only, it will be slower and
141 may have broken functionality). `is_component_build = true`
142
143 ## More links
144
145 * [Faster builds on Linux](linux_faster_builds.md)
146 * Information about [building with Clang](clang.md).
147 * You may want to
148 [use a chroot](using_a_linux_chroot.md) to
149 isolate yourself from versioning or packaging conflicts (or to run the
150 layout tests).
151 * Cross-compiling for ARM? See [LinuxChromiumArm](linux_chromium_arm.md).
152 * Want to use Eclipse as your IDE? See
153 [LinuxEclipseDev](linux_eclipse_dev.md).
154 * Built version as Default Browser? See
155 [LinuxDevBuildAsDefaultBrowser](linux_dev_build_as_default_browser.md).
156
157 ## Next Steps
158
159 If you want to contribute to the effort toward a Chromium-based browser for
160 Linux, please check out the [Linux Development page](linux_development.md) for
161 more information.
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698