如何编译Amarok 2从SVN在K / X / Ubuntu

如何在K ​​/ X / Ubuntu上从SVN编译Amarok 2

作者:Stephan Jau修订:v1.1最后更改:2009年4月13日

介绍

Amarok是KDE桌面上非常漂亮,功能多样的高级音乐播放器。 然而,* buntu 8.10 repos的当前版本是绝望的过时的,(IMHO)完全错误。 还有Amarok Neon项目,其目的是为* buntu提供每日SVN版本,但最近还没有更新。 所以,如果您想要了解最新的Amarok开发,您可以等到Neon Project再次提供二进制文件或者自己编译。 如果你想自己编译,你需要KDE 4.2。 还有PPA资料库,请使用我的生成器http://repogen.simplylinux.ch获取相关信息。

以下howto将会展示比必要的更多的东西。 我特别喜欢添加medibuntu repos,以便与kubuntu限制扩展,我有编解码器只是几乎每个。 我在这个howto中从medibuntu安装的软件包是w32codecs(如果你在64位操作系统上是w64codecs)。

我在一个香草Kubuntu 8.10安装上测试了这个howto。 随着时间的推移,您将如何修改系统,您将需要调整几件事情。

感谢在irc.freenode.org的#amarok频道中的markey和mamarok。 此外,这个方法的基础还有以下两个页面:
http://amarok.kde.org/blog/archives/833-Installing-Amarok-2-from-SVN-in-your-home-directory.html
http://amarok.kde.org/wiki/Development/MySQL_Embedded

Jaunty用户

对于Jaunty用户,需要考虑三个细微差别。 我在下面列出了他们:

第1步:默认情况下,Jaunty上没有安装“amarok-engine-xine”软件包。 所以它不能/不能被清除。
第1步3:您不必修补qtscriptgenerator源(但您可以)。
第1步6:在开始amarok之前,重新启动系统otherwiese你将收到一个错误。

我在VmWare Workstation 6.5中的一个香草Kubuntu Jaunty 9.04 Beta安装上进行了测试,我记录了整个安装过程。 您也可以从这里下载日志。 提取的日志文件的大小为2.5 MB,包含超过30,000行。

第1步:删除当前amarok安装

sudo apt-get purge amarok amarok-common amarok-engine-xine

而不是“清除”,您也可以使用“删除”。 不同之处在于,清除将删除配置和用户数据文件(例如您的统计信息和内容) - 您可能需要首先进行备份。

第2步:更新您的sources.list

你可以使用我的repo生成器: http : //repogen.simplylinux.ch 。 重要的是您选择“主要的,受限制的,宇宙的,多元的”分支机构,“安全性,更新,提出的”,“后端”更新以及“KDE 4.2 PPA,Medibuntu”第三方资料。 Medibuntu不是必需的,但建议使用。

那应该生成一个这样的列表:

#############################################################
################### OFFICIAL UBUNTU REPOS ###################
#############################################################

###### Ubuntu Main Repos
deb http://ch.archive.ubuntu.com/ubuntu/ intrepid main restricted universe multiverse

###### Ubuntu Update Repos
deb http://ch.archive.ubuntu.com/ubuntu/ intrepid-security main restricted universe multiverse
deb http://ch.archive.ubuntu.com/ubuntu/ intrepid-updates main restricted universe multiverse
deb http://ch.archive.ubuntu.com/ubuntu/ intrepid-proposed main restricted universe multiverse
deb http://ch.archive.ubuntu.com/ubuntu/ intrepid-backports main restricted universe multiverse

###### Ubuntu Partner Repo
deb http://archive.canonical.com/ubuntu intrepid partner

##############################################################
##################### UNOFFICIAL  REPOS ######################
##############################################################

###### 3rd Party Binary Repos

#### KDE 4.2 PPA Repos - http://www.kubuntu.org/news/kde-4.2
## Run this command: gpg --keyserver keyserver.ubuntu.com --recv-keys 493B3065 && gpg --export -a 493B3065 | sudo apt-key add -
deb http://ppa.launchpad.net/kubuntu-experimental/ubuntu intrepid main

#### Medibuntu - http://www.medibuntu.org/
## Run this command: sudo apt-get update && sudo apt-get install medibuntu-keyring && sudo apt-get update
deb http://packages.medibuntu.org/ intrepid free non-free

将您的/etc/apt/sources.list替换为上面的列表(或您自己的)或将缺少的部分添加到该列表中。

最后,您只需要导入gpg键即可摆脱出现其他错误信息:

gpg --keyserver keyserver.ubuntu.com --recv-keys 493B3065 && gpg --export -a 493B3065 | sudo apt-key add -
sudo apt-get update && sudo apt-get install medibuntu-keyring && sudo apt-get update

第3步:升级

添加KDE 4.2 repos后,需要升级系统:

sudo apt-get dist-upgrade

然后删除过时的依赖关系(不必要但推荐):

sudo apt-get autoremove

第4步:重启

重启系统:

sudo reboot

第5步:安装所需的软件包

现在安装所需的软件包。 如果你是64位,那么使用w64codecs包而不是w32codecs包:

sudo apt-get install kubuntu-restricted-extras w32codecs build-essential kde-devel subversion libmysqlclient15-dev libncurses5-dev libtag1-dev libstrigiqtdbusclient-dev

第6步:扩展你的.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用户,那么只会发出这两个命令中的第一个

第7步:重新载入你的.bashrc

重新载入你的.bashrc:

source ${HOME}/.bashrc

第8步:创建所需的文件夹

创建所需的文件夹:

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

第9步:通过svn下载amarok和taglib-extras

通过下列命令下载Amarok和taglib-extras:

cd ${HOME}/kde/src
svn co svn://anonsvn.kde.org/home/kde/trunk/extragear/multimedia/amarok amarok
svn co svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib-extras/ taglib-extras

当时我这样做,我检查了942886修订版。

第10步:下载MySQL

MySQL直接集成到Amarok 2中,这意味着我们需要源代码。 你可以在这里下载MySQL http://dev.mysql.com/downloads/mysql/5.1.html#source(选择tar.gz版本)。 当前版本是5.1.32,而对于下一个命令是正确的,如果使用较新的命令,则需要相应地更改版本号。 如果您选择手动下载MySQL,请将其下载到:$ {HOME} / kde / src

或者您可以按照以下命令将MySQL源放入正确的位置:

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

第1步1:提取和编译MySQL

如前所述,如果您使用其他版本,则需要按照以下步骤更改版本号:

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

如果您获得了多核cpu或更多cpus,那么您可以更改要用于编译的内核数。 如果您有双核心,则将以下选项设置为“-j3”。 如果你有一个四边形设置它为“-j5”。 在极少数情况下,使用多核会有问题; 如果是这样,那么只需将其设置为“-j1”:

export MAKEOPTS=-j2

现在你可以编译MySQL:

./build-mysqle.sh --prefix=${HOME}/usr

第1步2:编译taglib-extras

这最近被移出了amarok svn,需要自己编译。 运行以下步骤:

cd ${HOME}/kde/src/taglib-extras/
mkdir build
cd build
export LD_LIBRARY_PATH=${HOME}/kde/build/taglib-extras/taglib-extras
cmake -DCMAKE_INSTALL_PREFIX=${HOME}/kde ..
make
make install

第1步3:编译QtScriptGenerator

这是另一部分,最近搬出了amarok svn,还有一些问题。 只需运行下面的代码或者通过http://code.google.com/p/qtscriptgenerator/downloads/list下载较新的代码:

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

目前的版本0.1.0与* buntu有一些问题。 因为您需要通过从qtscriptgenerator-0.1.0目录运行以下内容进行修补:

nano include_everything.patch

并添加此代码:

--- b/generator/qtscript_masterinclude.h    2009-03-21 20:37:30.719523909 -0400
+++ a/generator/qtscript_masterinclude.h    2009-03-21 21:00:25.108149339 -0400
@@ -31,17 +31,41 @@
 #include <QtUiTools/QtUiTools>
-#ifndef QT_NO_XMLPATTERNS
-#  include <QtXmlPatterns/QtXmlPatterns>
-#endif
-
-#ifndef QT_NO_WEBKIT
-#  include <QtWebKit/QtWebKit>
-#endif
-
-#ifndef QT_NO_PHONON
-#  include <phonon/phonon>
-#endif
+#include <QtXmlPatterns/QtXmlPatterns>
+
+#include <QtWebKit/QtWebKit>
+
+#include "phonon/abstractaudiooutput.h"
+#include "phonon/abstractmediastream.h"
+#include "phonon/abstractvideooutput.h"
+#include "phonon/addoninterface.h"
+#include "phonon/audiooutput.h"
+#include "phonon/audiooutputinterface.h"
+#include "phonon/backendcapabilities.h"
+#include "phonon/backendinterface.h"
+#include "phonon/effect.h"
+#include "phonon/effectinterface.h"
+#include "phonon/effectparameter.h"
+#include "phonon/effectwidget.h"
+#include "phonon/mediacontroller.h"
+#include "phonon/medianode.h"
+#include "phonon/mediaobject.h"
+#include "phonon/mediaobjectinterface.h"
+#include "phonon/mediasource.h"
+#include "phonon/objectdescription.h"
+#include "phonon/objectdescriptionmodel.h"
+#include "phonon/path.h"
+#include "phonon/phonondefs.h"
+#include "phonon/phononnamespace.h"
+#include "phonon/platformplugin.h"
+#include "phonon/seekslider.h"
+#include "phonon/streaminterface.h"
+#include "phonon/videoplayer.h"
+#include "phonon/videowidget.h"
+#include "phonon/videowidgetinterface.h"
+#include "phonon/volumefadereffect.h"
+#include "phonon/volumefaderinterface.h"
+#include "phonon/volumeslider.h"
 #include "../qtbindings/qtscript_core/qtscriptconcurrent.h"

现在运行以下命令修补源:

patch -p1 < include_everything.patch

完成后,您可以通过运行以下命令来编译qtscriptgenerator和插件:

export INCLUDE=/usr/include/qt4
cd generator
qmake
make
./generator
cd ../qtbindings
qmake
make

完成后,您需要将插件复制到/ usr / lib / qt4 / plugins / script中:

cd ../plugins/script
sudo cp -R * /usr/lib/qt4/plugins/script/

第14步:编译Amarok 2

最后我们已经达到了我们可以编译Amarok 2的程度:

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

在cmake之后,您将收到一些警告,但编译和安装应该没有错误。

第1步5:更新KDE配置

现在您需要更新KDE配置:

kbuildsycoca4 --noincremental

第1步6:运行Amarok 2

最后,您可以通过在终端中发出以下命令来运行Amarok 2(最终您需要注销会话并重新登录)。 我还没有找到从菜单开始的方法:

amarok
赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏