Build
Chromium
The Ubuntu packaging branch is located in LP: lp:chromium-browser
There's a PPA: https://edge.launchpad.net/~chromium-daily/+archive/ppa
Building the upstream way
GCLIENT_URL=http://src.chromium.org/svn/trunk/depot_tools/linux CHROMIUM_URL=http://src.chromium.org/svn/trunk/src # Checkout svn co $GCLIENT_URL ./depot_tools ./depot_tools/gclient config $CHROMIUM_URL ./depot_tools/gclient sync
depot_tools is a very small set of scripts. Mostly wrappers for scons and svn.
gclient sync brings in several repositories (See src/DEPS)
after checkout set your PATH to include depot_tools:
export PATH=$PATH:$PWD/depot_tools/
now continue with the official chromium build instructions.
Building the ubuntu way
The ubuntu package provides a get-orig-source target that can do branch caching. Use this to produce your orig.tar.gz:
bzr branch lp:chromium-browser mkdir upstream cd chromium-browser ./debian/rules get-orig-source LOCAL_BRANCH=../upstream/chromium-browser.svn
This will give you a fresh snapshot. You can also use 'get-current-source' to get the one needed to build the branch as it is.
Next put the produced orig.tar.gz in the ../tarballs/ directory (next to the chromium-browser directory) and use bzr builddeb to build the package
bzr builddeb --merge --dont-purge --builder='dpkg-buildpackage -rfakeroot -b'
64bit
There's no native 64bit support. The salute comes from ia32libs, well, sort of...
Upstream: http://code.google.com/p/chromium/wiki/LinuxBuild64Bit
Status in Ubuntu:
- All: Build-deps += ia32-libs, lib32z1-dev - Jaunty: - nothing more needed since ia32-libs 2.7ubuntu4 - Intrepid: - needs a bunch of symlinks for lib{gio-2.0,gdk-x11-2.0,atk-1.0,gdk_pixbuf-2.0,pangocairo-1.0, pango-1.0,pangoft2-1.0,gobject-2.0,gmodule-2.0,glib-2.0, gtk-x11-2.0}.so - symlinks for lib{cairo,freetype,fontconfig,X11,Xrender,Xext}.so - Hardy: - same symlinks as intrepid - nss32 - nspr32
To work-around these issues, I created ia32-libs-chromium-browser (also in the PPA) which adds all the missing pieces. For Jaunty, this package is now empty (as of March 2009). So, for all arches, it's possible to just add:
Build-deps += ia32-libs-chromium-browser
For the missing symlinks, the symptom is:
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.3.3/../../../libgtk-x11-2.0.so when searching for -lgtk-x11-2.0 /usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.3.3/../../../libgtk-x11-2.0.a when searching for -lgtk-x11-2.0 /usr/bin/ld: skipping incompatible /usr/lib/libgtk-x11-2.0.so when searching for -lgtk-x11-2.0 /usr/bin/ld: skipping incompatible /usr/lib/libgtk-x11-2.0.a when searching for -lgtk-x11-2.0 /usr/bin/ld: cannot find -lgtk-x11-2.0 collect2: ld returned 1 exit status
because /usr/lib32/libgtk-x11-2.0.so is missing:
$ ls -l /usr/lib*/libgtk-x11-2.0.so* lrwxrwxrwx 1 root root 26 2009-03-04 16:31 /usr/lib32/libgtk-x11-2.0.so.0 -> libgtk-x11-2.0.so.0.1500.0 -rw-r--r-- 1 root root 4108712 2009-01-23 13:46 /usr/lib32/libgtk-x11-2.0.so.0.1500.0 lrwxrwxrwx 1 root root 26 2009-03-04 16:13 /usr/lib64/libgtk-x11-2.0.so -> libgtk-x11-2.0.so.0.1505.0 lrwxrwxrwx 1 root root 26 2009-03-04 16:13 /usr/lib64/libgtk-x11-2.0.so.0 -> libgtk-x11-2.0.so.0.1505.0 -rw-r--r-- 1 root root 4472696 2009-03-03 12:04 /usr/lib64/libgtk-x11-2.0.so.0.1505.0 lrwxrwxrwx 1 root root 26 2009-03-04 16:13 /usr/lib/libgtk-x11-2.0.so -> libgtk-x11-2.0.so.0.1505.0 lrwxrwxrwx 1 root root 26 2009-03-04 16:13 /usr/lib/libgtk-x11-2.0.so.0 -> libgtk-x11-2.0.so.0.1505.0 -rw-r--r-- 1 root root 4472696 2009-03-03 12:04 /usr/lib/libgtk-x11-2.0.so.0.1505.0
Chromium/Build (last edited 2009-05-14 22:55:51 by g225202210)