Как скомпилировать Amarok 2 из Git в Kubuntu 9.10 Karmic
Автор: Stephan Jau
Версия: v1.1
Последнее изменение: 14 декабря 2009
Введение
Amarok — это хороший музыкальный плеер для Linux. В выпуске Kubuntu 9.10 (Karmic) в официальных репозиториях присутствует стабильная версия Amarok, но проект активно развивается, и новые обновления в репозитории не появляются. Чтобы быть в курсе последних изменений, придётся собирать Amarok из исходников. Сборка несложная, но требует установки зависимостей и учёта нескольких нюансов.
Эта инструкция основана на старой версии для Kubuntu 8.10. Изменился способ разработки (SVN → Git) и ряд зависимостей, поэтому здесь — обновлённая пошаговая инструкция.
Важно: инструкция ориентирована на Kubuntu 9.10 (Karmic). Для других версий Ubuntu/KDE часть шагов может отличаться.
Что понадобится (кратко)
- Учетная запись с правами sudo.
- Доступ в Интернет для загрузки исходников и пакетов.
- Несколько гигабайт свободного места в домашней директории (исходники, сборки).
- Время — сборка MySQL и Amarok может занять от десятков минут до пары часов в зависимости от железа.
Простейшая концепция: установить dev-пакеты → подготовить окружение (KDE-путь в $HOME) → скачать исходники (Amarok, MySQL, дополнительные модули) → собрать их по очереди → установить и обновить системные конфиги KDE.
Быстрая схема работ (схема принятия решения)
- Нужно последнее из Git? → Собираем из исходников.
- Нужна только стабильная версия из репо? → Используйте apt/ppa.
1. Удаление текущей установки Amarok
Удалите установленную версию Amarok, чтобы избежать конфликтов:
sudo apt-get purge amarok amarok-commonПримечание: вместо purge можно использовать remove. purge удаляет также конфиги и пользовательские данные (например статистику) — сделайте резервную копию при необходимости.
2. Обновить систему
Рекомендую сначала обновить систему:
sudo apt-get update && sudo apt-get upgrade3. Установить требуемые пакеты
Установите базовые инструменты разработки и пакеты, которые потребуются для сборки:
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-restricted-extras формально не обязателен, но он добавляет кодеки и другие удобства для воспроизведения музыки.
4. Расширить .bashrc и myenv.sh (KDE / не-KDE)
Надо добавить в окружение пути, чтобы локальная сборка KDE/Amarok использовала bin и библиотеки из $HOME/kde.
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
Примените изменения окружения:
source ${HOME}/.bashrc6. Создать необходимые папки
Создайте структуру директорий для исходников и сборки:
mkdir -p ${HOME}/kde/src
mkdir -p ${HOME}/kde/build/amarok7. Скачать Amarok (Git)
Для полной сборки потребуется репозиторий Amarok:
cd ${HOME}/kde/src
git clone git://gitorious.org/amarok/amarok.git8. Скачать 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-5.1.40 в указанную директорию, выполните:
tar xzvf mysql-5.1.40.tar.gz
cd mysql-5.1.40
cp -R ${HOME}/kde/src/amarok/supplementary_scripts/mysqle/* .Если у вас многоядерный процессор, можно распараллелить сборку. Примеры: dual-core → -j3, quad-core → -j5; если возникают проблемы, установите -j1.
export MAKEOPTS=-j2Соберите MySQL (процесс может быть длительным):
./build-mysqle.sh --prefix=${HOME}/usr10. Сборка taglib-extras
taglib-extras вынесен отдельно, его нужно собрать отдельно:
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 install11. Сборка 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 требуется патч для 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
#include
+#include
#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Скопируйте плагины в системную директорию Qt:
cd ../plugins/script
sudo cp -R * /usr/lib/qt4/plugins/script/12. Включение дополнительных плагинов (liblastfm и др.)
Если вы хотите поддерживать scrobbling в Last.fm, соберите 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Для остальных плагинов достаточно установить соответствующие dev-пакеты. По списку:
# libgpod - также нужен для синхронизации 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
Переходим к основной сборке 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 --noincremental15. Запуск Amarok
Запустите Amarok из командной строки:
amarokЕсли вы видите интерфейс и плеер стартует — сборка успешна.
Частые ошибки и способы их устранения
- Проблема: сборка останавливается с ошибкой «не найден пакет dev». Решение: проверьте, установлен ли соответствующий -dev пакет (например libxml2-dev, libcurl4-openssl-dev).
- Проблема: плагины не видны. Решение: убедитесь, что плагины скопированы в /usr/lib/qt4/plugins/script/ и что права доступа позволяют чтение.
- Проблема: неизвестные symbol при запуске. Решение: проверьте LD_LIBRARY_PATH и переменные окружения KDEDIR/KDEDIRS.
Важно: если вы изменяли MAKEOPTS, верните его к безопасному значению или к -j1 при отладке.
Когда этот подход не подходит
- Если вам достаточно версий из официального репозитория или PPA — собирание из исходников не нужно.
- Если вы используете более новую или старую версию Ubuntu/KDE, некоторые патчи и пути могут не работать. В этом случае лучше искать актуальные инструкции под вашу версию.
Альтернативы
- Установка через PPA (если доступен): проще и быстрее, но версии могут запаздывать.
- Использование готовых бинарных пакетов для вашей дистрибуции.
- Сборка внутри контейнера или chroot для изоляции и повторяемости сборки.
Чеклист перед началом (роль-based)
- Для обычного пользователя: резервная копия настроек Amarok; удалить старую версию.
- Для разработчика/тестировщика: установить build-essential, cmake, git; подготовить отдельную директорию для сборки.
- Для системного администратора: проверить свободное место и политику установки в /usr/local и $HOME.
Критерии приёмки
- Amarok запускается без аварий.
- Интерфейс отображается и проигрывание работает.
- Поддерживаемые плагины (например last.fm, mtp) загружаются, если они были собраны.
Совет по отладке
- Запуск из терминала показывает логи и ошибки.
- Используйте strace/ldd на бинарнике или плагинах, чтобы найти недостающие библиотеки.
- При проблемах с окружением временно экспортируйте KDEDIR и PATH вручную в терминале и повторите запуск.
Заключение
Сборка Amarok 2 из Git на Kubuntu 9.10 требует нескольких шагов: подготовка окружения, сборка вспомогательных библиотек (MySQL, taglib-extras, QtScriptGenerator), установка плагинов и финальная сборка самого Amarok. Метод применим, если вы хотите последнюю версию или патчи, отсутствующие в репозитории. Если нужна стабильность и минимальные усилия — используйте готовые пакеты или PPA.
Краткие рекомендации: планируйте время на сборку, следите за -dev пакетами и переменными окружения, при возникновении ошибок смотрите логи и проверяйте пути библиотек.
Примечание: если вы переносите процедуру на другой релиз Ubuntu/KDE, проверьте обновлённые названия пакетов и доступность патчей.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента