KDE 4 selbst installieren
Vorwort
Das Release von KDE 4.0 rückt näher und näher und für alle, die nicht mehr warten können oder wollen, hier mal eine Schritt-für-Schritt-Anleitung, wie man auch schon vorher an eine begehrte Kopie kommt. Es wird eine Entwicklerversion inklusive Debug-Informationen gebaut, die trotzdem schon ziemlich stabil und flink ist.
Ach ja: Es ist sicher nicht erwähnenswert, aber die Anleitung ist natürlich nur für Linux und vielleicht noch die BSDs, auch wenn KDE4 unter Mac OS X und Windows laufen wird bzw. soll.
Vorbereitung
Der Einfachheit halber habe ich mir unter /home/kdedev eine eigene Partition gemountet, die nur für KDE 4 genutzt wird. Eigentümer ist mein normaler Benutzer und ich verwende es als Home für KDE 4, damit keine vorhandenen Einstellungen durcheinanderkommen. Den Platzbedarf darf man nicht unterschätzen, besonders durch die Debug-Daten, aber mit 40 bis 50 Gigabyte sollte man auf der sicheren Seite sein.
An Paketen müssen neben der üblichen Toolchain aus Compiler, Make und Verwandten vor allem die Header für X, Xine, Alsa, Cups, Sane, Hal, Dbus und einige andere installiert sein. Eine genaue Auflistung wäre ziemlich lang, ein kdebase3-devel und libxine-devel (von PackMan) sollte aber das meiste davon schon nach sich ziehen. Ansonsten werden beim Bauen der einzelnen Pakete die vorhandenen, noch benötigten und optionalen Abhängigkeiten angezeigt.
Besorgen der Quellen
Als nächstes brauchen wir natürlich die Quellen von Qt4, KDE4 und eine Menge anderen Krimskrams. Der Grund, vieles davon selbst zu bauen, liegt darin, dass so sichergestellt ist, dass uns Patches oder Voreinstellungen des Distributors nicht ins Gehege kommen. Dazu legen wir das Verzeichnis /home/kdedev/src an und wechseln dorthin. Aus dem Repository lassen wir nun die aktuelle Version holen. Am besten mit einem Skript, denn das kann nach Auslastung der Server durchaus eine Weile dauern.
svn checkout svn://anonsvn.kde.org/home/kde/trunk/qt-copy svn checkout svn://anonsvn.kde.org/home/kde/trunk/kdesupport svn checkout svn://anonsvn.kde.org/home/kde/trunk/KDE/kdelibs svn checkout svn://anonsvn.kde.org/home/kde/trunk/KDE/kdepimlibs svn checkout svn://rm-rf.in/captury/trunk captury svn checkout svn://anonsvn.kde.org/home/kde/trunk/KDE/kdebase git clone git://git.freedesktop.org/git/poppler/poppler svn checkout svn://anonsvn.kde.org/home/kde/trunk/KDE/kdegraphics svn checkout svn://anonsvn.kde.org/home/kde/trunk/KDE/kdesdk svn checkout https://tapioca-voip.svn.sourceforge.net/svnroot/tapioca-voip/trunk/telepathy-qt svn checkout https://tapioca-voip.svn.sourceforge.net/svnroot/tapioca-voip/trunk/tapioca-qt svn checkout svn://anonsvn.kde.org/home/kde/trunk/KDE/kdenetwork svn checkout svn://anonsvn.kde.org/home/kde/trunk/extragear/network/ktorrent svn checkout svn://anonsvn.kde.org/home/kde/trunk/KDE/kdeartwork svn checkout svn://anonsvn.kde.org/home/kde/trunk/KDE/kdemultimedia svn checkout svn://anonsvn.kde.org/home/kde/trunk/extragear/multimedia/amarok svn checkout svn://anonsvn.kde.org/home/kde/trunk/playground/multimedia/videoplayer svn checkout svn://svn.ggzgamingzone.org/svn/trunk/libggz svn checkout svn://svn.ggzgamingzone.org/svn/trunk/ggz-client-libs svn checkout svn://anonsvn.kde.org/home/kde/trunk/KDE/kdegames svn checkout svn://anonsvn.kde.org/home/kde/trunk/KDE/kdepim svn checkout svn://anonsvn.kde.org/home/kde/trunk/KDE/kdeutils svn checkout svn://anonsvn.kde.org/home/kde/trunk/KDE/kdeadmin svn checkout svn://anonsvn.kde.org/home/kde/trunk/KDE/kdetoys svn checkout svn://anonsvn.kde.org/home/kde/trunk/KDE/kdeedu svn checkout svn://anonsvn.kde.org/home/kde/trunk/koffice svn checkout svn://anonsvn.kde.org/home/kde/trunk/KDE/kdevplatform svn checkout svn://anonsvn.kde.org/home/kde/trunk/KDE/kdevelop svn checkout svn://anonsvn.kde.org/home/kde/trunk/KDE/kdewebdev cvs -d:pserver:anonymous@libvncserver.cvs.sourceforge.net:/cvsroot/libvncserver login cvs -d:pserver:anonymous@libvncserver.cvs.sourceforge.net:/cvsroot/libvncserver co libvncserver
Die folgenden Pakete müssen wir uns selbst als Tarball holen und in /home/kdedev/src auspacken:
- CMake 2.4.7 von www.cmake.org
- Telepathy-Glib 0.6.0 von telepathy.freedesktop.org
- Telepathy-Gablle 0.6.0 ebenfalls von telepathy.freedesktop.org
- LibZip 0.8.0 von www.nih.at
- OpenBabel 2.1.1 von openbabel.sourceforge.net
- LibGlew 1.4.0 von glew.sourceforge.net
Anschließend die Datei glew/Makefile bearbeiten und /home/kdedev als Prefix eintragen.
Compilieren
Nun kommen zwei Skripte. Eines, das quasi die Datei .bashrc für KDE 4 bildet, namens /home/kdedev/rc. Hier werden vor allem Pfade eingestellt, andere Umgebungsvariablen gesetzt und drei wichtige Shell-Funktionen definiert. Diese sind direkt von techbase.kde.org übernommen und äußerst nützlich. cmakekde baut das KDE-Paket, in dessen Verzeichnis man gerade ist, cs (»cd to source«) wechselt in das Quell-Verzeichnis eines Paketes und cb (»change to build«) analog zu dessen Build-Verzeichnis. Wichtig bei den Pfaden ist, nicht einfach die bestehenden zu ergänzen, sondern sie komplett neu zu setzen. Nur so lässt sich verhindern, dass Teile der KDE 3.5.x-Serie gefunden werden. Der erste Eintrag setzt /home/kdedev als neues Home und verhindert ein mögliches Unglück. Die Compiler-Direktiven müssen jeweils auf die Architektur angepasst werden. Die hier gezeigten Einstellungen gelten für eine OpenSUSE 10.3 32 Bit. Sicher kann man noch daran optimieren, aber es ist ja nur eine Übergangslösung bis zum Release.

