Chromium für OpenSuse kompilieren

Verchromte Suse

1

Ubuntu-Nutzer haben kein Problem, an aktuelle Versionen des Google-Browsers Chrome heranzukommen, doch wenn man eine andere Distribution nutzt, werden die Pakete zu Mangelware. Zum Glück gibt es den Quellcode.

Man nehme ein Versionsverwaltungstool von Google, 7 bis 10 GByte freien Speicherplatz eine schnelle Internetverbindung und einen Nachmittag Zeit. Das Resultat heißt Chromium, bettet sich auch in einem KDE-Desktop einigermaßen chique ein und lädt die LinuxCommunity schneller als Firefox 3.5.3.

Aller Anfang

Obwohl Google für die Verwaltung des Chrome-Quellcodes alias Chromium das Versionsverwaltungstool Subversion nutzt und als Buildsystem Scons zum Einsatz kommt, lässt sich der Browser nicht mit einem einfachen SVN-Checkout und anschließendem make übersetzen. Als Erstes gilt es deshalb die Voraussetzungen für einen erfolgreichen Buildvorgang zu erfüllen. Dazu bietet die Projektseite ein separates Howto für OpenSuse an, das in etwa aus folgendem Befehl besteht:

sudo zypper in subversion pkg-config python perl bison flex gperf mozilla-nss-devel glib2-devel gtk-devel wdiff lighttpd gcc gcc-c++ gconf2-devel mozilla-nspr mozilla-nspr-devel php5-fastcgi alsa-devel java-1_6_0-sun 

Die Schritte mit den Links und den Schriften kann man sich sparen, da Chromium inzwischen auch mit den Standard-Linux-Schriften klar kommt. Wer ab und zu Software auf seinem Rechner übersetzt, hat wohl die meisten Pakete bereits installiert, obiger Zypper-Aufruf kann aber nicht schaden.

Als zweiter Schritt braucht man die Depot-Tools von Google. Damit hält man den Code auf dem eigenen Rechner up-to-date und damit startet man auch den Kompiliervorgang. Ist Subversion installiert, genügt hier ein

svn co http://src.chromium.org/svn/trunk/tools/depot_tools

um die Depot-Tools auf den heimischen Rechner zu ziehen. Bei den Depot-Tools handelt es sich um eine Sammlung von Python-Skripten, es muss somit nichts kompiliert werden. Wer Lust hat, das neue Verzeichnis depot_tools zum Pfad der ausführbaren Programme hinzuzufügen, führt nach dem Checkout folgenden Befehl aus:

export PATH=`pwd`/depot_tools:"$PATH"

die wenigen Befehle, die für das Kompilieren notwendig sind, lassen sich aber auch mit dem kompletten Pfad aufrufen.

Der Buildbot informiert, ob es sich lohnt, die aktuelle Entwicklerversion zu übersetzen.
Der Buildbot informiert, ob es sich lohnt, die aktuelle Entwicklerversion zu übersetzen.

Checkout und Build

Die Depot-Tools bringen die Skripte gclient und hammer mit, die für den Kompiliervorgang benötigt werden. Falls sich die Tools im Pfad befinden, ziehen folgende Befehle den kompletten Quellcode aus dem Subversion-Repo:

gclient config http://src.chromium.org/svn/trunk/src
gclient sync

Der Code umfasst rund 2 GByte, je nach Internetanbindung ist jetzt Zeit für eine kürzere oder längere Kaffeepause. Der relative Pfad zu gclient lautet ../depot_tools/gclient usw.

Während des Checkout empfiehlt sich auch ein Blick auf den Chromium-Wasserfall. Falls auf der Seite irgendetwas von wegen CLOSED steht, lohnt es sich in der Regel nicht, den Code zu kompilieren, steht oben auf der Seite hingegen Tree is open, dann sollte dem nächsten Schritt nichts mehr im Wege stehen.

Trotz GTK-Theme bettet sich der Google-Browser auch in KDE relativ gut ein.
Trotz GTK-Theme bettet sich der Google-Browser auch in KDE relativ gut ein.

Nach dem Herunterladen wechselt man ins Verzeichnis src/build und ruft hier hammer chrome auf, um den Browser zu kompilieren. Auch dieser Vorgang dauert im besten Fall eine Stunde. Neben dem eigentlichen Browser kann man noch diverse Test-Cases oder Bibliotheken bilden, Details dazu finden sich in den offiziellen Build-Anleitungen im Chrome-Wiki.

In Zwei Tests ließ sich der Code problemlos kompilieren. Das Resultat (chromium) landet anschließend im Verzeichnis src/sconsbuild/Debug/, von hier starten Sie den Google-Browser über den Befehl ./chrome

Mit Erweiterungen

Die aktuelle Chromium-Version kommt mit Extensions schon relativ gut zu Recht. In den Tests installierten wir den Mail-Checker und die Buildbot-Extension von Google selbst sowie ein Übersetzungstool von Chromeplugins.org. Dabei kam es zu keinen negativen Überraschungen.

Chromium weist deutlich daraufhin, dass es sich bei den Erweiterungen um zusätzliche Software handelt.
Chromium weist deutlich daraufhin, dass es sich bei den Erweiterungen um zusätzliche Software handelt.

Wer neben den Erweiterungen auch Plugins ausprobieren möchte, legt im Verzeichnis src/sconsbuild/Debug/ einen Ordner plugins an und kopiert hierer die Browser-Plugins seines Linux-Rechners aus /usr/lib/browser-plugins/, beziehungsweise legt das Verzeichnis plugins gleich als Link auf /usr/lib/browser-plugins an. Danach starten man Chromium über ./chrome --enable-plugins.

Bei den aktuellen Builds bereitet auch der Flash-Player keinerlei Probleme mehr.
Bei den aktuellen Builds bereitet auch der Flash-Player keinerlei Probleme mehr.

Fazit

Chromium zu übersetzen, ist eigentlich kein Problem. Allerdings muss man sich fragen, wozu ein Browser aus knapp 2 GByte Quellcode bestehen muss und wozu die rund 8 GByte an kompilierten Daten gut sind. Das eigentliche Binary ist 400 MByte groß, 400 mal größer als zum Beispiel der ebenfalls auf QtWebkit basierende KDE-Browser Arora, sooooo viel mehr bietet Chromium aber nicht.

Hinterlasse einen Kommentar

1 Kommentar auf "Chromium für OpenSuse kompilieren"

  E-Mail Benachrichtigung  
Neuste Älteste Beste Bewertung
Benachrichtige mich zu:

gute fragen, im fazit.
generell sehe ich wenig grund, googles pseudo-open-source-produkte unter linux (oder überhaupt) zu benutzen, und es gibt ja auch genug bessere alternativen.