Getting Started/Build/KDE4 (ru)

Jump to: navigation, search


noframe
 
Warning
Внимание! Страница устарела! Рекомендую использовать статью на английском (хотя бы инструкции оттуда (список команд). Смогу обновить перевод не раньше, чем на майских праздниках.


Contents

Введение

В данной статье показано, как собрать KDE на системах Linux/BSD. Также есть следующие статьи: FreeBSD, Windows, Mac OS X и Solaris. В листингах команд везде используется bash.

noframe
 
Warning
По понедельникам высока вероятность проблем со сборкой. Это связано с тем, что большинство изменений в kdelibs вносятся в этот день. Dashboard сообщает о неожиданных сбоях. Приветствуется самостоятельное исправление нерабочих модулей.


Необходимое программное обеспечение

Следующие пакеты должны быть установлены для успешной сборки:

  • gcc и g++, предпочтительно версии 4.2 и выше
  • svn, клиет контроля за версиями (the subversion revision control client)
  • pkg-config
  • Заголовочные файлы и библиотеки для разработки X11, OpenGL (mesa-common-dev and libglu1-mesa-dev), libjpeg, libpng, libungif, libclucene, librdf, libxml2 и libxslt
  • Скрипт makeobj, являющийся частью kdesdk. Его можно установить вместе с kdesdk (в Debian пакет kdesdk-scripts) или идентичным пакетом, или же скачать отдельно с WebSVN
  • пакет shared-mime-info, используемый сейчас в KDE в качестве стандарта freedesktop MIME (the freedesktop MIME standard)
  • boost, требуется для kdebase; после компиляции и/или установки boost, для работоспособности cmake (FindBoost) следует добавить каталог с boost (содержащий подкаталог с заголовочными файлами) в CMAKE_INCLUDE_PATH, или же задать переменную окружения BOOST_ROOT, указывающую на каталог с boost.


Создание пользователя для разработки KDE 4

noframe
 
Note
Некоторые люди предпочитают создавать отдельного пользователя для KDE 4 (например, из-за старого бага, по ошибке удалявшего файлы) - инструкция, приведённая ниже, была написана исходя из этого.

Однако намного эффективнее делать всё из-под одного пользователя, см.

Повышение производительности вашего труда при разработке KDE4 при использовании скриптов

, чтобы узнать больше.

Тем не менее, можно следовать инструкции, приведённой ниже, но тогда не включайте никаких переменных окружения в .bashrc - задавайте их в отдельном файле, используемом при переключении к KDE 4.

Способ 1: Командная строка

useradd -m kde-devel
passwd kde-devel

Способ 2: Использование KControl

Вместо выполнения команд, приведённых выше, можно использовать модуль управления пользователями в Центре управления KDE, если уже установлен KDE3.

Настройка окружения

Скопируйте файл ~/.bashrc обычного пользователя в домашний каталог пользователя kde-devel. Затем вставьте в ~kde-devel/.bashrc содержимое из примера файла .bashrc. Если у вас недоступна команда makeobj, то закомментируйте строку alias make=makeobj. Наверняка вам потребуется изменить путь, чтобы удостовериться, что он не содержит kde3. Также, если вы планируете заниматься разработкой приложений для KDE 4 с помощью KDevelop, к команде cmake вы можете добавить параметр GKDevelop3 (чтобы CMake генерировала файлы проекта KDevelop, это поможет в будущем избежать пересборки; подробности здесь). Чтобы выполнить данный скрипт, можно открыть новый сеанс bash или выполнить

source ~/.bashrc

Это обеспечит доступ к таким командам, как cmakekde, которые использованы в данном обзоре, а также гарантирует правильность путей для исполняемых файлов Qt, KDE и CMake.

Для получения большей информации посмотрите обзор Повышение производительности вашего труда при разработке KDE4 при использовании скриптов.

Переключение к новому пользователя

Чтобы стать пользователем kde-devel, наберите (не забудьте дефис!):

ssh -X kde-devel@localhost
noframe
 
Note
Если возникают проблемы с ssh, проверьте раздел Запуск приложений KDE 4 из руководства по разработке KDE4.

Настройка командной оболочки для разработки

В некоторых системах новый пользователь по умолчанию использует /bin/sh. Данный раздел можно пропустить, если к вашей системе это не относится. Работа с /bin/sh может быть довольно неудобной, поэтому может потребоваться поменять оболочку на /bin/bash или любую другую. В Ark Linux и Fedora /bin/sh по умолчанию установлен bash, поэтому пользователям Ark этот шаг можно пропустить.

Способ 1: Пользователь kde-devel

Если невозможно изменить оболочку пользователя с помощью утилиты chsh (отсутствуют необходимые привилегии суперпользователя), то можно попробовать изменить оболочку на /bin/bash, выполнив:

chsh -s /bin/bash kde-devel

Способ 2: Суперпользователь

Если в системе присутствует приложение usermod, то нужно выполнить от имени суперпользователя следующую команду: usermod -s /bin/bash kde-devel.

Другой вариант - использовать утилиту vipw, чтобы, обладая привелегиями суперпользователя, отредактировать файл /etc/passwd. В конце файла 'kde-devel' нужно поменять строку '/bin/sh' на '/bin/bash', сохранить изменения и выйти.

Новая командная оболочка будет автоматически запущена, когда пользователь kde-devel снова войдёт в систему.

Установка необходимых пакетов в различных дистрибутивах

Зависимости для сборки kde4 значительно различаются в разных дистрибутивах. Ниже преведены ссылки на инструкции для различных дистрибутивов:

С чего продолжить установку зависит от того, какой дистрбутив вы используете.

D-Bus

QtDBus и KDE работают с D-Bus версий 0.62 и >= 0.92. Версии 0.60 и 0.61 могут работать, но правильность их работы не гарантируется. Известно, что версии 0.90 и 0.91 не поддерживаются. Рекомендуется использовать версии старше 1.0 (по крайней мере 0.94), так что следует обновиться, если установленная версия не соответствует требуемой.

Данный раздел можно пропустить, если установлена свежая версия D-Bus, или если обновление невозможно. Также, наверное, стоит пропустить секцию, в которой описано построение привязок (bindings), если вы не собираетесь собирать HAL (см. ниже)

Перед началом выполнения инструкций удостоверьтесь, что установлены заголовочные файлы и библиотеки X11. Конфигурационный скрипт (строка 5 нижеприведённых инструкций) должен вывести:

Building X11 code:        yes

Инструкция

Ktip.png
 
Tip
Удостоверьтесь, что системное окружение настроено так, как было описано выше. Это необходимо для работы функций cs и cb.


cs # 'cs' явдяется функцией bash; перейдите сюда, чтобы узнать больше
wget http://dbus.freedesktop.org/releases/dbus/dbus-1.0.2.tar.gz
tar -xvzf dbus-1.0.2.tar.gz
cd dbus-1.0.2/
./configure --prefix=$DBUSDIR --localstatedir=/var
make
sudo make install
sudo dbus-uuidgen --ensure
cs # see above
wget http://dbus.freedesktop.org/releases/dbus-glib/dbus-glib-0.74.tar.gz
tar -xvzf dbus-glib-0.74.tar.gz
cd dbus-glib-0.74/
./configure --prefix=$DBUSDIR
make
sudo make install
cd
sudo chown -R kde-devel:kde-devel *


Что же происходит?

Сначала нужно войти в каталог с исходными кодами, принадлежащий пользователю kde-devel (строка 1); c freedesktop.org был скачан (строка 2) и распакован (строка 3) исходный код D-Bus. Затем после входа в появившийся каталог (строка 4) с помощью скрипта configure были настроены параметры сборки (строка 5). После сборки (строка 6) и установки (строка 7) D-Bus с помощью утилиты dbus-uuidgen был установлен файл идентификации машины (machine identification file), позволяющий автоматически запускать D-Bus одновременно с сессией рабочего стола (строка 8).

При выполнении последних двух команд требуются права на запись в /var. Если в системе отсутствует команда sudo, то можно использовать su, например, su -c "make install". Сбока привязки к glib аналогична вышеописанной.

После сборки этих двух пакетов необходимо изменить владельца файлов, так как в результате выполнения 'sudo make install' владельцем файлов и каталогов в ~kde-devel/kde является root.

CMake

Раздел можно пропустить при наличии установленной версии CMake >=2.4.5 Можно использовать бинарные пакеты с сайта CMake. Также доступны пакеты для различных дистрибутивов.

Инструкция

cs # 'cs' является функцией bash; перейдите сюда, чтобы узнать больше
wget http://www.cmake.org/files/v2.4/cmake-2.4.6.tar.gz
tar -zxf cmake-2.4.6.tar.gz
mkdir cmake-build
cd cmake-build
../cmake-2.4.6/bootstrap
make
sudo make install

Что же происходит?

Сначала нужно войти в каталог с исходными кодами, принадлежащий пользователю kde-devel, скачать (строка 2) и распаковать (строка 3) исходники Cmake. Для сборки CMake нужно создать каталог (строка 4), войти в него (строка 5), запустить скрипт пересборки CMake (CMake bootstrap script) для настройки параметров сборки (строка 6) и затем выполнить сборку (строка 7) и установку (строка 8) с правами суперпользователя.

Если в системе отсутствует команда sudo, то можно использовать su, например, su -c "make install".

Qt

Теперь необходимо собрать Qt4 из репозитория исходных кодов (source repository) KDE4. KDE можно собрать с помощью Qt 4.3. Qt 4.2 и более ранние версии не поддерживаются. Следует использовать копию с серверов KDE Subversion (копия от KDE - это официальный пакет Qt плюс срочно исправленные баги). В некоторых дистрибутивах, таких, как Debian или openSUSE, имеется версия Qt с патчами из svn-репозитория KDE. Поэтому можно схитрить и использовать Qt из вашего дистрибутива, так как KDE старается гарантировать, что исходники можно собирать с обычным, непропатченным Qt 4.3.0. Но Вы, наверное, захотите получить некоторые багфиксы, используя qt-copy (однако, обычно дистрибутивы вносят необходимые багфиксы, так что, если дистрибутив свежий, то, наверняка, Вам будет удобнее использовать "родной" qt). Обратитесь к разделам выше, посвящённым дистрибутивам, чтобы получить дополнительную информацию.

На данный момент модуль совместимости с Qt3 в Qt4 является обязательным, поэтому при сборке Qt4 из исходников не используйте опцию "-no-qt3support".

Инструкция

cd # Note: qt-copy lives in $HOME/qt-copy. See $QTDIR in .bashrc 
svn checkout svn://anonsvn.kde.org/home/kde/trunk/qt-copy
cd qt-copy
./apply_patches
./configure -nomake examples -nomake demos -qt-gif \
-no-exceptions -debug -fast -prefix $QTDIR 
make -j2
  1. если не требуется установка, то следует просто удалить объектные файлы
  2. для экономии дискового пространства
if [ $QTDIR = `pwd` ]; then \
find . -name '*.o' -delete ; \
else make install; fi;

Что же происходит?

Сначала нужно войти в каталог с исходными кодами, принадлежащий пользователю kde-devel, (строка 1) и скачать исходный код из репозитория KDE, используя svn (строка 2). Затем перейти в каталог qt-copy (строка 3) и запустить скрипт, устанавливающий патчи, скачанные вместе с qt-copy (строка 4).

После установки патчей следует настроить параметры сборки с помощью скрипта configure (строки 5-6). Объяснение различных опций (параметров к ./configure) можно найти в файле qt-copy/README.qt-copy. Наконец, осуществляется сборка (строка 7). Примеры и демонстрационные приложения можно собрать отдельно.

Обратите внимание, что установка не требует прав суперпользователя, так как Qt устанавливается локально в $QTDIR. В любом случае установка требуется, только если $QTDIR отличается от $HOME/qt-copy, что не имеет значения, если чётко придерживаться приведённых инструкций.

Устранение неполадок

Если появляется ошибка «X11/Xlib.h: No such file or directory», то следует установить пакет xorg (название в различных системах может незначительно различаться, например, в Kubuntu этот пакет называется xorg-dev)

Если во время конфигурирования появляется ошибка, связанная с отсутствием определений (missing defines), нужно проверить значение $QMAKESPEC. Некоторые дистрибутивы настраивают переменную так, чтобы она указывала на установленный системой Qt. Если unset QMAKESPEC решает проблему, то это следует прописать в скрипт ~/.bashrc

Ошибка «.pch/debug-shared/QtCore» связана с тем, что Qt-4.3 разрешает системе использование прекомпилированных заголовочных файлов, если gcc поддерживает их, но по неизвестной причине это не работает. При использовании distcc нужно сконфигурировать qt с параметром -no-pch. При использовании icecream следует обновить приложение через svn.

Попробуйте запустить любую Qt-программу, например, assistant. Учтите: может потребоваться запуск xhost +local:kde-devel от имени обычного пользователя kde3 для запуска этого приложения. Если оно падает на QSpanData::adjustSpanMethods, то проблема связана со стилем oxygen. Для решения проблемы следует удалить lib/kde4/plugins/styles/kstyle-oxygen.so и lib/kde4/plugins/styles/oxygen.so, если они находятся в префиксе установки KDE (KDE install prefix).

HAL

Ktip.png
 
Tip
Чтобы проверить, установлен ли org.freedesktop.hal, можно использовать qdbusviewer. Если его нет, то нужна более свежая версия hal. Если org.freedesktop.hal всё же есть, то наверняка вам не нужно и не захочется переустанавливать hal.


Если вам требуется собрать новую версию HAL, то велик шанс, что потребуется собрать некоторое другое ПО, что может оказаться непростой задачей. However, this should only be required for older distros.

kdesupport

noframe
 
Warning
Не забудьте сперва ознакомиться со статьёй Настройка окружения.


Есть несколько библиотек, требуемых модулем kdesupport: Strigi и Soprano нужны для метаданных файлов (file metadata) и поиска, QImageBlitz используется kdebase для обработки изображений, eigen - для визуальных эффектов в таких приложениях, как Kalzium, taglib - для музыкальных проигрывателей, и qca - для выполнения некоторых криптографических задач.

Strigi имеет несколько своих зависимостей: для установки понадобятся библиотеки и заголовки libz, libbz2, openssl (libcrypto или libssl), libclucene (>=0.9.16a; заметьте, версия 0.9.17 не работает) и libxml2 ( либо libexpat).

Учтите, что если Вы используете openSUSE, то все необходимые пакеты можно установить из репозитория KDE:KDE4 buildservice и не возиться с приведёнными ниже инструкциями. Продолжите с раздела kdelibs.

Инструкция

cs # 'cs' является функцией bash; перейдите по ссылке, чтобы узнать больше
svn checkout svn://anonsvn.kde.org/home/kde/trunk/kdesupport/
cd kdesupport
cmakekde

Что же происходит?

Сначала нужно войти в каталог с исходными кодами (строка 1). Затем скачать с помощью svn исходный код kdesupport (строка 2), войти в созданный каталог ~/kde/src/kdesupport (строка 3) и начать сборку (строка 4). По окончании будет выполнен вход в каталог kdesupport.

Устранение неполадок

При возникновении ошибки

  cmakekde: command not found

следует вручную запустить команду cmake внутри каталога kdesupport. Если это не помогло, то ошибку надо искать в bashrc.

При возникновении ошибки

CMake Error: This project requires some variables to be set,
and cmake can not find them.
Please set the following variables:
LIBXML2_INCLUDE_DIR (ADVANCED)

следует установить пакеты разработки libxml2.

При возникновении ошибки

CMake Error: Could NOT find REDLAND

нужно поставить librdf из Redland. Если в дистрибутив не включён пакет librdf, его можно загрузить с http://download.librdf.org/source/ и установить.

((Пользователям Gentoo: сборочный файл для librdf - dev-libs/redland).


При возникновении ошибки

Fetching external item into 'kdesupport/admin'
Error validating server certificate for 'https://...'

см. статью Работа с Subversion-репозиторием KDE

При возникновении ошибки

FILE cannot create directory: /usr/lib[64]/qt4/plugins/crypto. Maybe need administrative privileges.
make: *** [install] Error 255

следует проверить корректность путей, прописанных в файле .bashrc ($QTDIR и $PATH используются для нахождения каталога установки Qt). Также подобная ошибка может возникать при использовании уже установленной в системе версии qt4 (и пропуске раздела об установке Qt). Либо установите qt-copy, либо выполните "sudo make install". После "sudo make install" следует сменить владельца на вас для некоторых подкаталогов ~/kde, измененённых при использовании sudo (например, "sudo chown -R kde-devel:kde-devel ~/kde").

При получении ошибки, похожей на: target libQtTest.so not found Вам необходимо пересобрать qt-copy, используя при конфигурации -nomake demos -nomake examples чтобы получить QtTest.


kdelibs

Теперь можно приступить к сборке основных библиотек KDE

Инструкция

cd 
cs # 'cs' является функцией bash; перейдите по ссылке, чтобы узнать больше
mkdir KDE && cd KDE
svn checkout svn://anonsvn.kde.org/home/kde/trunk/KDE/kdelibs
cd kdelibs
cmakekde

Что же происходит?

Сначала мы входим в каталог с исходными кодами (строка 1) и создаём каталог KDE, сразу же входя в него (строка 2). Затем с помощью subversion загружаются текущие исходники kdelibs (строка 3). Входим в появившийся каталог ~/kde/src/KDE/kdelibs (строка 4) и запускаем сборку (строка 5). По окончании будет выполнен вход в каталог сборки kdelibs.

Ktip.png
 
Tip
В вашей системе могут отсутствовать некоторые заголовочные файлы и/или соответствующие им библиотеки. Конкретные список неудовлетворённых зависимостей можно найти в выводе cmakekde. Перед сборкой компонентов KDE можно предварительно выполнить cmake $KDE_SRC/KDE/MODULE_NAME.)


Дополнительные модули CMake для KDE

В kdelibs/cmake/modules/ находятся дополнительные модули CMake, необходимые для сборки приложений из KDE4. Они будут автоматически установлены после инсталляции kdelibs.

Устранение неполадок

При наличии проблем во время сборки kdelibs в первую очередь необходимо проверить наличие и работоспособность необходимого программного обеспечения. Другие рекомендации по устранению неполадок:

  • Если cmakekde завершается сообщая, о том, что требуется выходной каталог для сборки (CMake requires an out of source build directory), нужно удалить

~/kde/src/KDE/kdelibs/CMakeCache.txt и перезапуситить сборку.

Если эта же ошибка cmakekde опять повторяется, можно попробовать исправить её так:

cd
cmake -DCMAKE_INSTALL_PREFIX=$KDEDIR \
-DCMAKE_BUILD_TYPE=debugfull \
-DKDE4_BUILD_TESTS=ON \
~/kde/src/KDE/kdelibs
make
make install
  • При получении ошибки «Please create a separate build directory and run 'cmake path_to_kdelibs [options]' there.» следует перейти в директорию сборки до запуска cmakekde (например, cs KDE/kdelibs && cb && cmakekde). Если ошибка повторилась, запустите 'svn status' в каталоге kdelibs и удалите все файлы, помеченные '?'.
  • Если не найден Qt, или найдена его неподдерживаемая версия, убедитесь, что qmake от нужной версии Qt является первым в PATH.
  • Если не найден qmake и Вы используете пакеты Debian, то, возможно, что /usr/bin/qmake указывает не та ту версию qmake. Чтобы это исправить выполните из-под рута:

update-alternatives --config qmake

  • Если ошибка продолжает появляться, можно попробовать запустить CMake c опцией --keep-going.
  • Ошибка «Could NOT find GIF» означает, что нужно установить библиотеку libungif.
  • Изменение настроек Qt-4.3: при получении ошибки компоновки kjsembed, связанной с QScriptEngine, отредактируйте CMakeCache.txt в kdelibs: удалите строки, в которых есть QT_QTUITOOLS_LIBRARY, а затем снова выполните make (эта статическая библиотека имеет новую зависимость, в результате чего выполняется код cmake, который её обрабатывает).
  • При получении ошибки
    CMake Error: KDE Requires Qt to be built with SSL support
    следует установить пакет openssl-devel, удалить файл CMakeCache.txt и пересобрать Qt.
  • Ошибка
    kdelibs/kimgio/ico.cpp:188: undefined reference to `QImage::jumpTable()'
    означает, что Qt скомпилирован без поддержки Qt3 (компоновка с установленным Qt3 не сработает)

kdepimlibs

После установки kdelibs и перед сборкой kdebase следует установить kdepimlibs.


Инструкция

cs KDE # 'cs' является функцией bash; пройдите по ссылке, чтобы узнать больше
svn checkout svn://anonsvn.kde.org/home/kde/trunk/KDE/kdepimlibs
cd kdepimlibs
cmakekde

Что же происходит?

Нужно перейти в каталог с исходными кодами KDE (строка 1), скачать исходники kdepimlibs с помощью subversion (строка 2) и потом перейти в появившийся каталог ~/kde/src/KDE/kdepimlibs (строка 3). Затем запустить сборку (строка 4). По окончании будет выполнен вход в каталог сборки kdepimlibs.

Устранение неполадок

При наличии проблем компиляции kdepimlibs:

  • Утилита cmakekde может требовать более позднюю версию библиотеки gpgme. Она доступна на сайте

http://www.gnupg.org/(en)/download/index.html - учтите, что для сборки gpgme также потребуется libgpg-error, доступная на том же сайте. Обе библиотеки устанавливаются с помощью "./configure" (для gpgme следует выполнить с параметром -with-gpg-error-prefix), "make" и "sudo make install". Может потребоваться перезаписать уже существующий файл "/usr/bin/gpgme-config" для более новой версии, чтобы kdepimlibs нашёл более новую версию библиотеки.

  • При получении от /usr/bin/ld ошибки «cannot find -lpth» удостоверьтесь, что в вашей системе есть GNU Portable Threads (libpth-dev в Debian).
  • Ошибка «cannot find -lpth», сгенерированная /usr/bin/ld, может быть связана с отсутствием GNU Portable Threads (libpth-dev в Debian).

kdebase

kdebase состоит из трёх частей:

  • apps (приложения)
Эта часть содержит приложения, например Dolphin и KWrite.
  • runtime (среда выполнения)
Содержит всё необходимое для приложений во время исполнения (например, значки). Эта часть необходима для работы любого приложения KDE, поэтому её необходимо обязательно собрать и установить.
  • workspace (рабочая среда)
Включает в себя ПО, специфичное для KDE, например Plasma и оконный менеджер. Большая часть зависит от X11. Требуется только для того, чтобы собрать полный рабочий стол KDE.

Инструкция

cs KDE # 'cs' является функцией bash; пройдите по ссылке, чтобы узнать больше
svn checkout svn://anonsvn.kde.org/home/kde/trunk/KDE/kdebase
cd kdebase
cmakekde

Устранение неполадок

При наличии проблем компиляции kdebase:

  • Проверьте наличие заголовочных файлов libxss headers. (Обычно появляется ошибка «undefined references on xscreensaver objects», связанная с отсутствием заголовков для данной библиотеки).
  • Команда which meinproc4 должна возвращать /home/kde-devel/kde/bin/meinproc4
  • Если cmakekde не находит kdepimlibs, отредактируйте файл $KDE_BUILD/KDE/kdebase/CMakeCache.txt, вручную прописав KDEPIMLIBS_INCLUDE_DIR:PATH=$KDE_BUILD/kdepimlibs
  • При получении ошибки «Please set the following variables: X11_XTest_LIB (ADVANCED)» установите пакеты разработки для Xtst. В некоторых системах этот пакет отделён от xext и называется x11proto-xext-dev или libxtst-dev. Также может потребоваться удалить CMakeCache.txt в каталоге сборке после установки пакета.
  • То же самое касается и «X11_Xinerama_LIB (ADVANCED)», но в данном случае следует установить пакет разработки для xinerama.
  • При наличии ошибки, связанной с отсутствием X11_Xrandr_LIB, нужно установить пакет разработки для libxrandr (libxrandr-devel в дистрибутивах Ubuntu)
  • Если появляется ошибка «Please set the following variables: FONTCONFIG_INCLUDE_DIR, FONTCONFIG_LIBRARIES (ADVANCED)», нужно установить заголовочные файлы libfontconfig.
  • При наличии ошибки «CMake Error: This project requires some variables to be set, and cmake can not find them. Please set the following variables: KMETADATA_LIBRARIES» следует установить soprano из kdesupport и пересобрать kdelibs.
  • При получении ошибки «‘XserverRegion’ does not name a type» удостоверьтесь, что установлены заголовочные файлы libxcomposite (libxcomposite-dev в Ubuntu).
  • Для устранения ошибки «CMake Error: This project requires some variables to be set, and cmake can not find them. Please set the following variables: QT_QTOPENGL_LIBRARY (ADVANCED) » попробуйте отредактировать CMakeCache.txt и переменную QT_QTOPENGL_LIBRARY:FILEPATH=/home/kde-devel/qt-copy/lib/libQtOpenGL.so
  • Получив ошибку «KDE4_INSTALL_HANDBOOK() is deprecated. Remove it please. Now all is done in KDE4_CREATE_HANDBOOK», либо найдите файлы, содержащие строку, вызывающую ошибку, и закомментируйте её вручную, либо из каталога ~/kde/src/KDE/kdebase запустите скрипт

macros_corrector.sh. Он удалит строки, содержащие «kde4_create_handbook» из всех файлов, в которых они встречаются.

  • При получении ошибки (в Ubuntu), связанной с libxtst.so, установите пакет libxtst-dev.
  • При получении сообщения «"kdebase/workspace/kcontrol/kxkb/x11helper.cpp:131: error: ‘KGlobal’ has not been declared», возможно, требуется установить пакеты разработки libxklavier.

Запуск приложений KDE 4

Теперь вы можете запускать приложения KDE 4 (например, kwrite), напечатав:

ssh -X kde-devel@localhost kwrite

Устранение неполадок

  • Если появляется сообщение

«KUniqueApplication: Cannot find the D-Bus session server», проверьте, есть ли у вас доступ к дисплею, например, напечатав xclock Проверьте, появятся ли часы на экране.

  • При получение ошибки, похожей на

Error: standard icon theme "oxygen" not found!

ASSERT: "!isEmpty()" in file /home/kde-devel/qt-copy/include/QtCore/../../src/corelib/tools/qlist.h, line 245 Aborted (core dumped), необходимо установить kdebase (см. выше). Достаточно установить каталог "runtime" из kdebase.

Получение локальной документации по API

Хотя документация по API KDE доступна на api.kde.org, иногда удобно иметь её на своём компьютере, например, чтобы использовать KDevelop для просмотра документации, или если невозможно постоянно находиться в сети.

Учтите, что загрузка документации по API может занять несколько часов, а сама документации занимает почти полгигабайта дискового пространства.


Инструкция

cs KDE/kdelibs # 'cs' является функцией bash; пройдите по ссылке, чтобы узнать больше
$KDE_SRC/KDE/kdelibs/doc/api/doxygen.sh \
--doxdatadir=$KDE_SRC/KDE/kdelibs/doc/common .

Повторите для всех модулей:

cd <имя модуля>
$KDE_SRC/KDE/kdelibs/doc/api/doxygen.sh \
--doxdatadir=$KDE_SRC/KDE/kdelibs/doc/common .

Другой и, наверное, более простой способ, - загрузить Doxyfile. Затем перейти в каталог, куда следует поместить документацию и выполнить команду:

% doxygen /path/to/Doxyfile

Затем проверить содержимое файла doxygen.log на наличие ошибок и предупреждений. Документация будет установлена в подкаталог apidocs

Не забывайте обновляться

Чтобы иметь последние обновления kde4, нужно периодически обновлять все установленные модули. Так как понедельник - день внесения множества изменений в kdelibs, то вторник является лучшим днём для этого. Для каждого модуля следует выполнить svn up и make.


Например:

cs kdesupport # [[Getting_Started/Increased_Productivity_in_KDE4_with_Scripts/.bashrc|'cs' является функцией bash; пройдите по ссылке, чтобы узнать больше]]
svn up
cb # cb - не опечатка
make -j2 VERBOSE=1 && make install

Частичная установка модулей (установка отдельных приложений)

Многие модули KDE4 включают в себя огромное число приложений, поэтому для установки всего модуля может потребоваться много времени, чтобы всё скачать и собрать. В случае, если нужно всего несколько определённых приложений из состава модуля, возможно скачивать и компилировать только отдельные каталоги. В некоторых случаях, для сборки любого приложения необходимо иметь несколько "главных" каталогов. Они задаются в файле CMakeLists.txt каждого модуля. Например, в kdegames CMakeLists.txt файле для kdegames перечислены:

add_subdirectory(libkdegames)
add_subdirectory(libkmahjongg)
 
macro_optional_add_subdirectory(doc)
macro_optional_add_subdirectory(lskat)
macro_optional_add_subdirectory(katomic)

Таким образом, каталоги libkdegames и libkmahjongg необходимы для сборки любого приложения из kdegames. Обычно также необходим каталог cmake. Ниже приведён пример сборки kmahjongg и kbattleship:

cs KDE
svn co -N kdegames # The -N switch performs a non-recursive checkout
cd kdegames
svn up libkdegames # Get required directories
svn up libkmahjongg
svn up cmake
svn up kbattleship # Get optional directories
svn up kmahjongg
cmakekde

Общий способ устранения неполадок

С течением времени, после нескольких выполнений команды svn up может оказаться, что некоторые утилиты, используемые в системе сборки KDE, изменили формат вывода. Например, файлы kcfg используются kconfig_compiler для создания конфигурационных диалогов. CMake не в состоянии отследить подобные изменения, что приводит к сбою компиляции. Обходной путь - использование приндительного обновления всех подобных файлов:

find $KDE_SRC/KDE/kdebase -name "*.kcfg" | xargs touch

То же самое касается ui-файлов, созданных Qt Designer.

Заблокированный сеанс

При установке KDE 4 в качестве пользователя нельзя будет разблокировать заблокированную сессию. Чтобы решить эту проблему необходимо: su

su chown root.root $KDEDIR/lib/kde4/libexec/kcheckpass

или

chmod 755 $KDEDIR/lib/kde4/libexec/kcheckpass

Помимо этого необходимо добавить в каталог /etc/pam.d/ службу "kde".

Пример для дистрибутивов, основанных на RH/Fedora:

 
 #%PAM-1.0
 auth       include      system-auth
 account    include      system-auth
 password   include      system-auth
 session    include      system-auth

Готово!

Теперь Вы готовы к сборке других модулей из svn (выполняется абсолютно аналогично), запуску и тестированию KDE4 или написанию собственных патчей и приложений.

Чтобы узнать, как запускать приложения KDE4 и использовать KDevelop для работы с ними, см. обзор Подготовка KDE4 для разработки


This page was last modified on 14 July 2012, at 10:28. This page has been accessed 54,689 times. Content is available under Creative Commons License SA 3.0 as well as the GNU Free Documentation License 1.2.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V.Legal