My favorites | Sign in
Logo
             
Search
for
Updated Yesterday (38 hours ago) by bradpitcher
Labels: Linux
LinuxBuildInstructionsPrerequisites  
Prerequisites for building.

This page describes system requirements for building Chromium on Linux.

System Requirements

Linux distribution

Our intent is that you should be able to build Chromium on any reasonably modern Linux distribution, and we try to list prerequisites as explicitly as we can. However, please bear in mind that the Linux port is in its early stages, and our opportunity to test on a multiple Linux distributions has been limited. Internally, our development platform has been a variant of Ubuntu 8.04 (Hardy Heron); we expect you will have the most luck on this platform, although directions for other popular platforms are included below.

Disk space

It takes about ten gigabytes or so of disk space to check out and build the source tree.

64-bit Systems

Chromium can be compiled as either a 32-bit or 64-bit application. Chrome requires several system libraries to compile and run. While it is possible to compile and run a 32-bit Chrome on 64-bit Linux, many distributions are missing the necessary 32-bit libraries, and will result in build or run-time errors.

Software Requirements

Building on Linux requires the following software. (TODO: make this Linux-distribution independent)

Optional (currently, all of these are only used by layout tests):

Automated Setup

The script build/install-build-deps.sh (for Ubuntu) attempts to automate installing the above software (the installation steps used to be more complicated, but they've been simplified so this script may be redundant now).

Please update that script if you find it's incomplete.

Distribution-specific Notes

Ubuntu Setup

On a 32-bit Ubuntu 8.04, you can fetch all of the above as follows:

$ sudo apt-get install subversion pkg-config python perl g++ g++-multilib \
  bison flex gperf libnss3-dev libgtk2.0-dev libnspr4-0d libasound2-dev \
  libnspr4-dev msttcorefonts libgconf2-dev libcairo2-dev libdbus-1-dev

And then the optional extras:

$ sudo apt-get install wdiff lighttpd php5-cgi sun-java6-fonts

openSUSE Setup

For openSUSE 11.0 and later, see Linux openSUSE Build Instructions.

Fedora Setup

Distribution version: 10+ (probably works on older too, haven't tested)

To install dependencies use this yum command:

su -c 'yum install subversion pkgconfig python perl gcc-c++ bison \
flex gperf nss-devel nspr-devel gtk2-devel.i386 glib2-devel.i386 \
freetype-devel.i386 atk-devel.i386 pango-devel.i386 cairo-devel.i386 \
fontconfig-devel.i386 GConf2-devel.i386 dbus-devel.i386 alsa-lib-devel'

pango-devel.i386 may have conflict with pango-devel.x86_64, so download it and install manually by

su -c 'rpm --force -Uvh /var/cache/yum/updates/packages/pango-devel-1.22.3-1.fc10.i386.rpm'

The msttcorefonts packages can be obtained by following the instructions present here: http://www.fedorafaq.org/#installfonts

For the optional packages:

  • php-cgi is provided by the php-cli package
  • wdiff doesn't exist in Fedora repositories, a possible alternative would be dwdiff
  • sun-java6-fonts doesn't exist in Fedora repositories, needs investigating

su -c 'yum install lighttpd php-cli dwdiff'

Arch Linux Setup

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.

$ 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

For the optional packages on Arch Linux:

For a successful build, add'remove_webcore_debug_symbols': 1, to the variables-object in includes.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 setup

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 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

Comment by musuruan, Mar 19, 2009

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/

Comment by InternetBummer, Apr 04, 2009

You also need glibc-devel.i386

Comment by bobbypowers, Apr 07, 2009

for Fedora rawhide and F11, those packages will be .586, not .386

Comment by bobbypowers, Apr 07, 2009

libX11-devel.i586 as well for fedora

Comment by eddi2k, Apr 26, 2009

need dbus-devel too on fedora 10

Comment by imagen.patagonica, May 30, 2009

for debian lenny = Ubuntu Setup?