Amarok-Git unter Kubuntu 9.10 Karmic selbst kompilieren

Posted by on 02 Nov 2009 | Tagged as: Allgemeines, hyper_ch, KDE, Ubuntu

Amarok ist ein genialer Musikplayerund für Kubuntu 9.10 Karmic hat es die aktuelle Version (2.2) auch noch in die offiziellen Repos geschafft. Allerding geht die Entwicklung bei Amarok rasend voran und deshalb gibts hier ein kleines Howto wie man Amarok von GIT kompiliert.


Das ganze Howto habe ich auf einer Vanilla-Kubuntu 9.10 Karmic Installation durchgeführt. Je nachdem wie stark das System modifiziert wurde braucht es Änderungen.

Diese Howto basiert auf dem Howto für Kubuntu 8.10. Allerdings wurden einige Dinge ausgelagert (so auch Wechsel von SVN zu Git) und deshalb gibts wieder eine Schritt-für-Schritt Anleitung.

WARNUNG
Das neue Code Plugin hat noch einen Fehler und zwar kann es zwei Bindestriche “- -” nicht korrekt erkennen und wiedergeben sondern ersetzt diese immer durch “&# 8211;”.
Dies muss entsprechend manuell noch geändert werden. Betroffen sind Scrhitt 9 (letzter Teil), Schritt 11 (beim Patch die zweite Zeile. Dort müssen am Anfang 3 Bindestriche rein, also “- – -“), Schritt 12 beim Configure (gleich zweimal in derselbe Codezeile) und Schritt 14.

1: Bisherige Amarok Installation entfernen

sudo apt-get purge amarok amarok-common

Anstelle von “purge” kann man auch “remove” nehmen um so die eigenen Daten weiter aufrecht zu erhalten. Amarok muss entfernt werden, da es sonst Probleme gibt.

2: Upgraden

Es wird empfohlen sich zunächst die neusten Pakete zu holen und das System zu aktualisieren:

sudo apt-get update && sudo apt-get upgrade

3: Benötigte Pakete installieren

Danach die benötigten Pakete installieren:

sudo apt-get install git-core build-essential kubuntu-restricted-extras kde-devel subversion libncurses5-dev libtag1-dev libqca2-dev libstrigiqtdbusclient-dev libstreamanalyzer-dev

An sich ist kubuntu-restricted-extras nicht notwendig um Amarok 2 kompiliert zu kriegen, allerdings ohne Codecs wird Amarok auch keine Musik abspielen bzw. Phonon wird das nicht können.

4: .bashrc und myenv.sh erweitern

Die .bashrc und myenv.sh Dateien müssen noch erweitert werden. Dazu folgendes im Terminal ausführen:

KDE-Benutzer müssen/sollen das hier ausführen:

echo '' >> ${HOME}/.bashrc
echo 'export PATH=$HOME/kde/bin:$PATH' >> ${HOME}/.bashrc
mkdir -p ${HOME}/.kde/env
touch ${HOME}/.kde/env/myenv.sh
echo '' >> ${HOME}/.kde/env/myenv.sh
echo 'export KDEDIR=$HOME/kde' >> ${HOME}/.kde/env/myenv.sh
echo 'export KDEDIRS=$KDEDIR' >> ${HOME}/.kde/env/myenv.sh

Nicht-KDE-Benutzer müssen das hier ausführen:

echo '' >> ${HOME}/.bashrc
echo 'export PATH=$HOME/kde/bin:$PATH' >> ${HOME}/.bashrc
echo 'export KDEDIR=$HOME/kde' >> ${HOME}/.bashrc
echo 'export KDEDIRS=$KDEDIR' >> ${HOME}/.bashrc

Und mit folgendem überprüfen ob es tatsächlich:

cat ${HOME}/.bashrc
cat ${HOME}/.kde/env/myenv.sh

Natürlich müssen die nicht-KDE-Benutzer nur den ersten Befehl ausführen.

5: .bashrc neu laden

Nun muss das ganze noch neu geladen werden:

source ${HOME}/.bashrc

6: Verzeichnisse kreieren

Nun legt man die folgenden Verzeichnisse an:

mkdir -p ${HOME}/kde/src
mkdir -p ${HOME}/kde/build/amarok

7: Amarok (wird gebraucht für MySQL)

cd ${HOME}/kde/src
git clone git://gitorious.org/amarok/amarok.git

Bei mir hat das folgende Revision gegeben: Checked out revision 942886.

8: MySQL herunterladen

Da MySQL in Amarok 2 integriert ist, brauchen wir noch die MySQL Quellen. Diese können hier heruntergeladen werden (natürlich die tar.gz Version). Derzeit ist die aktuelle Version 5.1.32. Damit die nachfolgenden Befehle alle stimmen, muss nach ${HOME}/kde/src heruntergeladen werden.

Alternative kann auch einfach folgendes ausgeführt werden:

cd ${HOME}/kde/src
wget http://dev.mysql.com/get/Downloads/MySQL-5.1/mysql-5.1.40.tar.gz/from/http://mirror.switch.ch/ftp/mirror/mysql/

9: MySQL entpacken und installieren

Dies gilt jetzt natürlich nur, wenn alle Schritte vorher identisch gemacht wurden und MySQL immer noch 5.1.40 ist. Ansonsten muss das geändert werden.

tar xzvf mysql-5.1.40.tar.gz
cd mysql-5.1.40
cp -R ${HOME}/kde/src/amarok/supplementary_scripts/mysqle/* .

Solltest du mehr als 1 CPU/Kern haben, musst du noch folgenden Befehl mit der Anzahl Kerne +1 abändern und ausführen. D.h. bei nem Dualcore wäre es “-j3” und bei nem Quadcore “-j5” (höhere Werte für -j führen seltenerweise zu Probleme. Sollte dies eintreffen, dann einfach -j1 verwenden):
export MAKEOPTS=-j2

Danach kann MySQL kompiliert werden (das dauert):
./build-mysqle.sh --prefix=${HOME}/usr

10: taglib-extras kompilieren

Dies wurde vor kurzem auch aus dem SVN ausgegliedert und muss ebenfalls separat kompiliert werden. Dazu folgendes Schritte ausführen:

cd ${HOME}/kde/src
svn co svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib-extras/ taglib-extras
cd taglib-extras
mkdir build
cd build
export LD_LIBRARY_PATH=${HOME}/kde/build/taglib-extras/taglib-extras
cmake -DWITH_ASF=On -DWITH_MP4=On -DCMAKE_INSTALL_PREFIX=${HOME}/kde ..
make
make install

11: QtScriptGenerator kompilieren

Dies wurde ebenfalls ausgeglagert, aber es gibt noch einige Schwierigkeiten dazu. Zuerst einfach mal folgendes ausführen oder sich den aktuellen Code hier besorgen:

cd ${HOME}/kde/src
wget http://qtscriptgenerator.googlecode.com/files/qtscriptgenerator-src-0.1.0.tar.gz
tar xfvz qtscriptgenerator-src-0.1.0.tar.gz
cd qtscriptgenerator-src-0.1.0

Ebenfalls hier ist auf die Versionsnummer zu achten. Die Version 0.1.0 hat allerdings noch Fehler und muss (unter Karmic) gepatcht werden (vgl. hier). Dazu im qtscriptgenerator-src-0.1.0 Verzeichnis folgendes ausführen:
nano qtscriptgenerator.gcc-4.4.patch

Und nachfolgenden Text einfügen:
diff -uNr generator.orig/parser/rpp/pp.h generator/parser/rpp/pp.h
--- generator.orig/parser/rpp/pp.h	2008-12-05 11:01:44.000000000 +0100
+++ generator/parser/rpp/pp.h	2008-12-13 10:42:22.000000000 +0100
@@ -30,6 +30,7 @@
 #include <cctype>
 
 #include <fcntl.h>
+#include <cstdio>
 
 #ifdef HAVE_MMAP
 #  include <>sys/mman.h>

Die Datei dann speichern und folgenden Befehl ausführen um zu patchen:
patch -p0 < qtscriptgenerator.gcc-4.4.patch
[/codesyntax]
Danach kann mit folgenden Befehlen das ganze kompiliert werden. Hier muss zuerst ins Verzeichnis generator rein und dann noch in qtbindings:
[codesyntax lang="bash"]
export INCLUDE=/usr/include/qt4
cd generator
qmake
make
./generator
cd ../qtbindings
qmake
make
[/codesyntax]
Am Schluss noch die Plugins nach /usr/lib/qt4/plugins/script kopiert werden.
[codesyntax lang="bash"]
cd ../plugins/script
sudo cp -R * /usr/lib/qt4/plugins/script/
[/codesyntax]
 
 
 
12: Zusätzliche Amarok Plugins vorbereiten
Zuerst liblastfm, damit man über last.fm scrobbeln kann
[codesyntax lang="bash"]
sudo apt-get install qt4-qmake pkg-config libsamplerate-dev libfftw3-dev ruby g++ libqt4-dev
cd ${HOME}/kde/src/
wget http://cdn.last.fm/src/liblastfm-0.3.0.tar.bz2
tar xvfj liblastfm-0.3.0.tar.bz2
cd liblastfm-0.3.0
./configure --release --prefix /usr/local
make
sudo make install

Für die restlichen Plugins braucht man nur noch die entsprechenden Pakete zu installieren. Einfach die gewünschten Plugins auswählen und die Zeilen einfügen:
# libgpod; das erfüllt auch gerade die Voraussetzungen für Gdk
sudo apt-get install libgpod4 libgpod-dev
# libmtp
sudo apt-get install libmtp8 libmtp-dev
# curl
sudo apt-get install curl libcurl4-openssl-dev
# libxml2
sudo apt-get install libxml2 libxml2-dev
# loudmouth
sudo apt-get install libloudmouth1-0 libloudmouth1-dev

13: Amarok kompilieren

Amarok kann nun endlich kompiliert werden:

cd ${HOME}/kde/src/amarok
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=${HOME}/kde -DCMAKE_BUILD_TYPE=debugfull ${HOME}/kde/src/amarok
make
make install

Dies sollte ohne grössere Fehlermeldungen von statten gehen.

14: KDE Config updaten

Zuletzt muss noch KDE Config geupdated werden:

kbuildsycoca4 --noincremental

15: Amarok starten

Und Amarok kann dann von der Shell aus (ich habs noch nicht anders hingekriegt) mit folgendem Befehl gestartet werden:

amarok

Comments are closed.