|
LinuxBuildInstructionsPrerequisites
Prerequisites for building.
Linux This page describes system requirements for building Chromium on Linux. System RequirementsLinux distributionYou 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 another. Internally, our development platform has been a variant of Ubuntu 10.04 (Lucid Lynx); we expect you will have the most luck on this platform, although directions for other popular platforms are included below. Disk spaceIt takes about 10GB or so of disk space to check out and build the source tree. This number grows over time. Memory spaceIt takes about 8GB of swap file to link chromium and its tests. If you get an out-of-memory error during the final link, you will need to add swap space with swapon. It's recommended to have at least 4GB of memory available for building a statically linked debug build. Dynamic linking and/or building a release build lowers memory requirements. People with less than 8GB of memory may want to not build tests since they are quite large. 64-bit SystemsChromium can be compiled as either a 32-bit or 64-bit application. Chromium requires several system libraries to compile and run. While it is possible to compile 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. Software RequirementsBuilding on Linux requires software not usually installed with the distributions. Automated SetupThe script build/install-build-deps.sh (at least for Ubuntu) attempts to automate installing the required software. This script is used to set up the canonical builders, and as such is the most up to date reference for the required prerequisites. Please update that script if you find it's incomplete. (TODO: make this Linux-distribution independent) This is an approximation of the requirements it verifies and/or installs.
Currently used by basic tests (in order to run swig):
Optional (currently, all of these are only used by layout tests):
NOTE: We currently want to support distributions that are as old as Ubuntu Hardy, so for example, we don't want to use features from newer versions that are not present in gtk 2.12.9 (the Hardy version). Distribution-specific NotesUbuntu SetupOn a 32-bit Ubuntu 8.04, you can fetch all of the above as follows: $ sudo apt-get install bison fakeroot flex g++ g++-multilib gperf \ libapache2-mod-php5 libasound2-dev libbz2-dev libcairo2-dev \ libdbus-glib-1-dev libgconf2-dev libgl1-mesa-dev libglu1-mesa-dev \ libglib2.0-dev libgtk2.0-dev libjpeg62-dev libnspr4-dev libnss3-dev \ libpam0g-dev libsqlite3-dev libxslt1-dev libxss-dev \ mesa-common-dev msttcorefonts patch perl pkg-config python \ python2.5-dev rpm subversion libcupsys2-dev libgnome-keyring-dev \ libcurl4-gnutls-dev libelf-dev libc6-i386 lib32stdc++6 There are some optional extra packages that are only necessary to run tests. For example, sun-java6-fonts includes one font (along with a hefty JRE) that is used by a WebKit test. $ sudo apt-get install apache2 wdiff lighttpd php5-cgi sun-java6-fonts \ msttcorefonts ttf-dejavu-core ttf-kochi-gothic ttf-kochi-mincho On Lucid I also needed these fonts for layout tests: $ sudo apt-get install ttf-indic-fonts Debian SetupFollow the Ubuntu instructions above. If you want to install the build-deps manually, note that the original packages are for Ubuntu. Here are the Debian equivalents:
openSUSE SetupFor openSUSE 11.0 and later, see Linux openSUSE Build Instructions. Fedora SetupRecent systems: su -c 'yum install subversion pkgconfig python perl gcc-c++ bison \ flex gperf nss-devel nspr-devel gtk2-devel glib2-devel freetype-devel \ atk-devel pango-devel cairo-devel fontconfig-devel GConf2-devel \ dbus-devel alsa-lib-devel libX11-devel expat-devel bzip2-devel \ dbus-glib-devel elfutils-libelf-devel libjpeg-devel \ mesa-libGLU-devel libXScrnSaver-devel \ libgnome-keyring-devel cups-devel libXtst-devel libXt-devel pam-devel' The msttcorefonts packages can be obtained by following the instructions present here: http://www.fedorafaq.org/#installfonts For the optional packages:
su -c 'yum install lighttpd php-cli dwdiff' Arch Linux SetupMost 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. $ sudo pacman -S --needed python perl gcc gcc-libs bison flex gperf pkgconfig nss \ alsa-lib gconf glib2 gtk2 nspr ttf-ms-fonts freetype2 cairo dbus \ libgnome-keyring For the optional packages on Arch Linux:
For a successful build, add 'remove_webcore_debug_symbols': 1, to the variables-object in include.gypi. Tested on 64-bit Arch Linux. TODO: Figure out how to make it build with the WebCore debug symbols. make V=1 can be useful for solving the problem. Mandriva setupurpmi lib64fontconfig-devel lib64alsa2-devel lib64dbus-1-devel lib64GConf2-devel \ lib64freetype6-devel lib64atk1.0-devel lib64gtk+2.0_0-devel lib64pango1.0-devel \ lib64cairo-devel lib64nss-devel lib64nspr-devel g++ python perl bison flex subversion \ gperf Note 1: msttcorefonts are not available, you will need to build your own (see instructions, not hard to do, see http://code.google.com/p/chromium/wiki/MandrivaMsttcorefonts ) or use drakfont to import the fonts from a windows installation Note 2: these packages are for 64 bit, to download the 32 bit packages, substitute lib64 with lib Note 3: some of these packages might not be explicitly necessary as they come as dependencies, there is no harm in including them however. 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: export GYP_DEFINES="target_arch=x64" gclient runhooks --force Gentoo setupemerge www-client/chromium |
Lucida font should be in the bitmap-fonts package in Fedora.
Maybe liberation-fonts can be used instead of Microsoft proprietary fonts: https://fedorahosted.org/liberation-fonts/
You also need glibc-devel.i386
for Fedora rawhide and F11, those packages will be .586, not .386
libX11-devel.i586 as well for fedora
need dbus-devel too on fedora 10
for debian lenny = Ubuntu Setup?
For mandriva, instead of g++ you want gcc-c++ The following is the correct command on 64 bit:
urpmi lib64fontconfig-devel lib64alsa2-devel lib64dbus-1-devel lib64GConf2-devel lib64freetype6-devel lib64atk1.0-devel lib64gtk+2.0_0-devel lib64pango1.0-devel lib64cairo-devel lib64nss-devel lib64nspr-devel gcc-c++ python perl bison flex subversion gperf
under memory space, add note to check your ulimit for process max memory and virtual memory, otherwise ld will fail with "failed to set dynamic section sizes: Memory exhausted"
Hi guys its really a hectic to go all these hoopla's of building and creating . When will google release chrome os like any other software .
"Package lib32readline-dev has no installation candidate"
I got this package missing in Ubuntu 64-bit 9.10 when running automated setup.
On 32-bit Ubuntu Karmic, package libdbus-glib-1-dev is also needed.
On Debian (or on testing/squeeze at least), the package dbus-glib-1-dev was also needed, but was not installed by the supplied script for Debian. Granted, that script is not declared to actually work, but it seems to except for that one exception. Nice work guys!
It appears the following packages are also required under Debian: mesa-common-dev libgl1-mesa-dev libglu1-mesa-dev.
See http://www.mail-archive.com/chromium-dev@googlegroups.com/msg11951.html
I have found that libxss-dev is similarly required (at least on Debian testing) for compiling Chromium. (http://groups.google.com/a/chromium.org/group/chromium-dev/browse_thread/thread/d57148d3845de8c7)
there is no information about how to install depot_tools on slackware_13.0-x86_64 this a complete show stopper
Как установить на Debian Lenny ? последнюю версию хромиума? что нужно делать можно поподробнее и на русском язычке ))
Hummmm, I am getting: E: Command line option 'l' -multilib? is not known when runing the command above?http://code.google.com/p/chromium/wiki/LinuxBuildInstructionsPrerequisites#Ubuntu_Setup under ubuntu 9.10
What does "a lot of memory" mean ? Is 2GB enough ? What can I expect to do with the build once I make it ?
How can I do this on OpenSolaris??
Missing cups-devel dependency for Fedora!
also missing 'curl-devel' for fedora 13... still trying to trying to make a build for a fresh system.
On Mandriva you must install libgnome-keyring-dev in order to compile
there will always be an iso image that will be outdated. if you want up to date real time software, you get it from source
curl-devel is needed for ubuntu 10.04 also (indeed what I had to install was libcurl4-gnutls-dev)
I also have to install libcups2-dev (ubuntu 10.04)
Hello - Please be more specific about "A lot of memory". Another comment above asks the same question but I don't see any answers.
The script for debian is missing. "The page you requested is invalid."
FWIW, my ld takes 2.6GB of resident memory to link chrome.
python2.5-dev -> python2.7-dev (x)Ubuntu 10.10 Maverick
I have built chromium for rhel5, if someone wants help you can contact me, I can email detailed steps.
This page needs updating.
On Fedora 12 libgnome-keyring-devel should be gnome-keyring-devel
Seems to be python2.5-dev -> python2.6-dev for Lucid.
Fedora 13 also requires libXtst-devel
I think 'libcupsys2-dev' is a typo. 'libcups2-dev' is correct.
how do i get it to stop intercepting everything i type into the url bar? requests to resolve URLs should only go to my DNS system.
thank you
@abpillai,could you please email me winglet13@gmail.com the building steps for RHEL5?
Fedora 14 also needs libXt-devel
Hi abpillai,
I am unable to run build/install-build-deps.sh on RHEL.Here is my complete apt-get command for Ubuntu 10.10, 64 bit:
The build dependencies are a moving target. A good way to automate the prereq checking is to start with install-build-deps.sh It currently only supports Ubuntu (working well from 8.04 through 10.10) but is a confirmed starting point for other distros.
It will also help you understand some build options.
For Mint 10, use the Ubuntu listing
Please drop PAM as a dependency and use something more secure instead. Slackware and its derivatives don't use PAM for security reasons (hasn't since v9.1), so they can't compile Chromium. I'm running Salix OS 13.1, which has Slackware 13.1.0 (according to /etc/slackware-version) running under the hood.
Here's a pastebin of the errors I'm getting: http://pastebin.com/TKHXTxJy
Building on Fedora 14, I also had to install libXt-devel and pam-devel.
How can i co this on Windows (7) Starter
For arch linux, ttf-ms-fonts has been moved to the AUR and cannot be installed through pacman anymore.
There are duplicate "libcupsys2-dev".
chromium 14 couldn't build on ubuntu jaunty. because of lacking of gtk_widget_get_allocation(). GTK+2.0 needed 2.18 or higher?
wdiff does exist in Fedora
after successfully execute 'make chrome'; how do you run chrome?
I'm using gcc-4.7-...alpha on gentoo (emerge -a www-client/chromium), with linux-3.1.0-rc4, chromium didn't compile until I had the following added in the sources:
#include <sys/types.h> ==> ipc/ipc_channel.h #include <unistd.h> ==> ipc/file_descriptor_set_posix.cc
Is that the dev teams haven't bumpted up to gcc-4.7 yet?
Modified prereqs for Ubuntu 10.04 LTS:
sudo apt-get install bison fakeroot flex g++ g++-multilib gperf libapache2-mod-php5 libasound2-dev libbz2-dev libcairo2-dev libdbus-glib-1-dev libgconf2-dev libgl1-mesa-dev libglu1-mesa-dev libglib2.0-dev libgtk2.0-dev libjpeg62-dev libnspr4-dev libnss3-dev libpam0g-dev libsqlite3-dev libxslt1-dev libxss-dev mesa-common-dev ttf-mscorefonts-installer patch perl pkg-config python python-dev rpm subversion libcups2-dev libgnome-keyring-dev libcurl4-gnutls-dev libelf-dev ttf-indic-fonts
On CentOS 6/64bit (and probably Red Hat) I needed:
yum install glibc.i686 libstdc++.so.6 libz.so.1