Amarok-Git unter Kubuntu 9.10 Karmic selbst kompilieren
Posted by hyper_ch 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
No Comments »