如何编译Amarok 2从Git在Kubuntu 9.10 Karmic
作者:Stephan Jau
修订:v1.1
最后变动:2009年12月14日
介绍
Amarok是一个很棒的音乐播放器。 在Kubuntu 9.10的当前实际中,Karmic还将当前稳定的Amarok版本引入了存储库。 然而,Amarok正在大力发展,更新不会包括在官方的回馈中。 如果您想更新最新的Amarok版本,您需要自行编译。 编译Amarok并不是很难,而是需要一些依赖关系,还有一些需要注意的事情。
这个howto是基于我的老版本的Kubuntu 8.10无畏。 由于阿马罗克的快速发展,老爷爷完全过时了。 大多数事情仍然有效,但也有很多其他事情发生了变化。 最显着的是从SVN到Git的变化。
1:删除当前的amarok安装
sudo apt-get purge amarok amarok-common
而不是“清除”,您也可以使用“删除”。 不同之处在于,清除将删除配置和用户数据文件(例如您的统计信息和内容) - 您可能需要首先进行备份。
2:升级
我建议先升级系统:
sudo apt-get update && sudo apt-get upgrade
3:安装所需的软件包
现在安装所需的软件包:
sudo apt-get install git-core build-essential kubuntu-restricted-extras kde-devel subversion libncurses5-dev libtag1-dev libqca2-dev libstrigiqtdbusclient-dev libstreamanalyzer-dev
那么,kubuntu限制扩展包不是必需的,但如果没有编解码器播放音乐,音乐播放器是什么好的。
4:扩展你的.bashrc和myenv.sh
你需要用几个东西来扩展你的.bashrc和myenv.sh文件。 只需运行这些命令:
KDE用户使用:
echo '' >> ${HOME}/.bashrc
echo 'export PATH=$HOME/kde/bin:$PATH' >> ${HOME}/.bashrc
mkdir -p ${HOME}/.kde/env
echo 'export KDEDIR=$HOME/kde' >> ${HOME}/.kde/env/myenv.sh
echo 'export KDEDIRS=$KDEDIR' >> ${HOME}/.kde/env/myenv.sh
非KDE用户使用:
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
并验证这些是否真的添加:
cat ${HOME}/.bashrc
cat ${HOME}/.kde/env/myenv.sh
如果您是非KDE用户,那么只会发出这两个命令中的第一个
第5步:重新加载你的.bashrc
重新载入你的.bashrc:
source ${HOME}/.bashrc
6:创建所需的文件夹
创建所需的文件夹:
mkdir -p ${HOME}/kde/src
mkdir -p ${HOME}/kde/build/amarok
7:下载Amarok(编译MySQL所必需的)
cd ${HOME}/kde/src
git clone git://gitorious.org/amarok/amarok.git
8:下载MySQL
MySQL直接集成到Amarok 2中,这意味着我们需要源代码。 你可以在这里下载MySQL: http : //dev.mysql.com/downloads/mysql/5.1.html#source
或者你可以运行这些命令:
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
这仅适用于您将mysql tar球下载到上述给定位置,并且下载此exacte版本。 如有必要,请修改路径和版本号:
tar xzvf mysql-5.1.40.tar.gz
cd mysql-5.1.40
cp -R ${HOME}/kde/src/amarok/supplementary_scripts/mysqle/* .
如果您获得了多核cpu或更多cpus,那么您可以更改要用于编译的内核数。 如果您有双核心,则将以下选项设置为“-j3”。 如果你有一个四边形设置它为“-j5”。 在极少数情况下,使用多核会有问题; 如果是这样,那么只需将其设置为“-j1”:
export MAKEOPTS=-j2
现在你可以编译MySQL(这将需要相当长的一段时间):
./build-mysqle.sh --prefix=${HOME}/usr
10:编译taglib-extras
这也被移出了Amarok Git存储库,因此您必须自己编译:
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
这也必须单独编译。 获取来源:
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
然而,在您可以在Karmic上编译之前,您必须将其修补为Karmic使用GCC 4.4:
nano qtscriptgenerator.gcc-4.4.patch
粘贴此文本:
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>
保存文件并运行该命令来修补源:
patch -p0 < qtscriptgenerator.gcc-4.4.patch
现在你可以编译它然后生成绑定:
export INCLUDE=/usr/include/qt4
cd generator
qmake
make
./generator
cd ../qtbindings
qmake
make
现在将绑定复制到相应的文件夹:
cd ../plugins/script
sudo cp -R * /usr/lib/qt4/plugins/script/
12:启用其他Amarok插件
如果你想让Amarok可以在last.fam上播放歌曲,你必须自己编译liblastfm:
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
对于其他插件,您只需安装相应的软件包即可。 下面列出了每个插件必需的软件包。 选择你想要的那些:
# libgpod - this also fulfills the requirements for 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的程度:
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
这应该需要一些时间。
14:更新KDE配置
最后你必须更新KDE配置:
kbuildsycoca4 --noincremental
15:运行Amarok
现在你可以从命令行启动Amarok:
amarok