Getting Started/Build/KDE4 (fr)

Jump to: navigation, search



Contents

Getting_Started/Build/KDE4

noframe
 
Warning
La présente traduction de ce document n'est pas à jour, son utilisation pourra donc poser problème. En cas de difficulté, il vous faudra vous référer à la version originale de ce document (en anglais), accessible depuis la barre ci-dessus. Merci de votre compréhension et veuillez nous excuser pour la gêne occasionné.


Résumé

Ce tutoriel détaille une procédure pour obtenir une version du tronc de KDE tournant sur les systèmes Linux/BSD. Tout au long de ce tutoriel le shell bash est utilisé. Si vous souhaitez mettre en place KDE sur d'autres systèmes tels que Solaris, Mac OS ou Microsoft Windows, veuillez aller sur la page Build et jeter un oeil sur les liens en bas de page correspondant à votre système.


noframe
 
Warning
Attendez-vous à avoir beaucoup d'erreurs de compilation le lundi lorsque des modifications critiques sont implémentées. Le dashboard répertorie les plantages non souhaités. Vous êtes encouragés à réparer les modules.


Prérequis

Les éléments suivants doivent être installés sur votre machine avant de pouvoir continuer ce tutoriel :

  • gcc et g++ du projet gcc, de préférence en version 4.1 minimum
  • svn le client du système de gestion de version subversion
  • Les bibliothèques de développement et les fichiers d'en-tête de X11, OpenGL (mesa-common-dev and libglu1-mesa-dev), libjpeg, libpng, libungif, libclucene, librdf, libxml2 et libxslt
  • Le script makeobj, qui fait partie du projet kdesdk. Vous pouvez l'installer avec kdesdk ou une partie de celui-ci (kdesdk-scripts sur une Debian) ou un paquetage similaire, ou encore le télécharger depuis WebSVN.
  • Le paquetage shared-mime-info, le standard MIME du projet freedesktop que KDE utilise à présent
  • boost est requis par kdebase; après la compilation et/ou l'installation de boost et dans le but d'informer cmake de son emplacement (FindBoost), ajoutez le répertoire de boost (celui contenant les sous-répertoire de fichiers include) à CMAKE_INCLUDE_PATH ou créez une variable d'environnement BOOST_ROOT que vous positionnerez sur le répertoire de boost.

Il est également nécessaire d'avoir l'interpréteur de commandes bash installé.

Kubuntu

Dans Kubuntu 7.04 (Fiesty) vous pouvez installer les dépendances dont vous avez besoin pour la construction avec la commande :

sudo aptitude install build-essential cdbs debhelper cmake \
libxml2-dev libxslt1-dev libbz2-dev libclucene-dev librdf-dev \
shared-mime-info libgl1-mesa-dev libglu1-mesa-dev mesa-common-dev \
libxext-dev libjpeg-dev libpng-dev subversion libsm-dev libxinerama-dev \
libxrender-dev libfontconfig-dev libboost-dev libxcursor-dev doxygen \
libungif4-dev libdbus-1-dev libgpgme11-dev libpth-dev \
libxine-dev libxkbfile-dev
</code>
 
Vous pouvez éviter l'installation manuelle de Qt 4.3, CMake 2.6 et DBus en installant les paquetages suivant (avec leurs dépendances). '''Veuillez noter:''' Cela ne fonctionnera pas avec Qt pour KDE4 après la version alpha 1 (Kubuntu Fiesty est fournie avec Qt 4.3 beta et non une version finale tel que requis par les futures versions de KDE4). Pour installer Qt pour KDE4 :
<syntaxhighlight lang="bash">
sudo aptitude install libqt4-dev-kdecopy libdbus-1-dev cmake
</code>
 
Pour que le framework [[apidox]] fonctionne correctement vous avez aussi besoin de :
<syntaxhighlight lang="bash">
sudo aptitude install graphviz
</code>
 
=== openSUSE ===
 
Dans openSUSE 10.2 ou plus récent, vous pouvez installez les paquetages manquants avec [http://en.opensuse.org/Zypper Zypper] :
<syntaxhighlight lang="bash">
sudo zypper install <package-name>
</code>
 
Sur d'anciennes versions de SuSE, vous pouvez utiliser YaST :
<syntaxhighlight lang="bash">
su
yast2 -i <packagename>
</code>
 
'''Paquetages requis'''
 
La plupart des paquetages dont vous aurez besoin sont :
<code>
xorg-x11-devel
libxml2-devel 
kdesdk3 
clucene-core-devel 
boost-devel
libjpeg-devel 
liblrdf-devel 
libpng-devel 
libxslt-devel 
libredland-devel
Mesa-devel 
giflib-devel 
subversion 
gcc 
gcc-c++
gmp-devel (needed to build kdesupport)
xine-devel
libgpgme-devel (needed to build kdepimlibs)
</code>
 
'''Paquetages facultatifs'''
 
Vous pouvez sauter l'installation manuelle de Qt 4.3, CMake 2.6 et DBus en installant le dépôt de paquetages openSUSE Build Service KDE4 à vos sources d'installation.
 
Pour openSUSE 10.2 ou plus récent faites :
<code>
sudo zypper service-add http://software.opensuse.org/download/KDE:/KDE4/openSUSE_10.2 KDE4-102
</code>
 
Pour des versions plus anciennes de SUSE Linux faites :
<code>
su
installation_sources -a http://software.opensuse.org/download/KDE:/KDE4/[YOUR SUSE LINUX VERSION]
</code>
 
Maintenant installez les paquetages suivants (et leurs dépendances):
<code>
cmake
dbus-1-devel
libqt4-devel
</code>
 
Et pour que le framework apidox soit pleinement fonctionnel vous aurez aussi besoin de :
<code>
graphviz
</code>
 
Les paquetages binaires de CMake pour openSUSE sont disponible depuis [http://software.opensuse.org/download/devel:/tools:/building/ openSUSE build service].
 
=== Gentoo ===
 
Vous pouvez utiliser tout les ebuilds stables récents mais rappelez vous de toujours synchroniser votre portage avant de commencer.
 
Il faut être démasqué et/ou conserver une version inférieure pour continuer ''(note du traducteur : à vérifier)''.
 
<syntaxhighlight lang="bash">
# echo 'x11-libs/qt' >> /etc/portage/package.keywords
# echo 'dev-util/cmake' >> /etc/portage/package.keywords
# echo 'dev-cpp/clucene' >> /etc/portage/package.keywords
# echo '>dev-cpp/clucene-0.9.16a' >> /etc/portage/package.mask
</code>
 
Ceux-ci sont les paquetages que nous aurons besoins d'installer, certain pouvant être déja installé. Vous pourrez donc éviter l'installation de certain d'entre eux en ajoutant le paramètre de mise à jour à emerge.
 
<syntaxhighlight lang="bash">
$ emerge -avu ebuild/name
</code>
 
 sys-devel/gcc
 dev-util/subversion
 dev-util/pkgconfig
 x11-base/xorg-x11
 media-libs/glut
 media-libs/mesa
 media-libs/jpeg
 media-libs/libpng
 media-libs/giflib
 dev-cpp/clucene
 dev-util/cppunit
 media-libs/liblrdf
 dev-libs/libxml2
 dev-libs/libxslt
 x11-misc/shared-mime-info
 kde-base/kdesdk-scripts
 dev-libs/boost
 x11-libs/qt
 dev-util/cmake
 sys-apps/dbus
 dev-libs/redland
 
Vous commencerez à compiler à la main à partir de la section [[Getting_Started/Build/KDE4#kdesupport|section kdesupport]].
 
Bonne chance !
 
== Création d'un compte pour le développement de KDE4 ==
 
{{Note|
Certaines personnes aime avoir un compte utilisateur spécifique pour KDE4. Les instructions suivantes ont été écrites en ce sens.
 
Cependant il est beaucoup plus efficace de tout faire avec un seul compte utilisateur. Voir "[[Getting_Started/Increased_Productivity_in_KDE4_with_Scripts|Les scripts pour accroire sa productivité dans KDE4]]" pour plus de détails.
 
Vous pouvez toujours suivre les instructions suivantes mais ne placez pas les variables d'environnement dans le fichier <tt>.bashrc</tt>. 
Placez les dans un fichier séparés que vous sourcerez pour passer dans l'environnement de développement de KDE.
}}
 
=== Option 1 : En ligne de commande ===
<syntaxhighlight lang="bash">
useradd -m kde-devel
passwd kde-devel
</code>
 
=== Option 2 : Avec KControl ===
 
Au lieu d'utiliser la commande ci-dessus, vous pouvez aussi utiliser le module Utilisateur dans le centre de contrôle de KDE si KDE3 est déjà installé sur votre machine.
 
=== Mise en place de l'environnement ===
 
Copiez le fichier {{path|~/.bashrc}} depuis votre compte utilisateur normal vers le nouveau compte kde-devel. Ensuite, copiez et collez le contenu du script [[Getting Started/Increased Productivity in KDE4 with Scripts/.bashrc|d'exemple .bashrc]] dans {{path|~kde-devel/.bashrc}}. Assurez vous de commenter la ligne <tt>alias make=makeobj</tt> si vous n'avez pas la commande <tt>[[Getting Started/Build/KDE4#Required Software| makeobj]]</tt> disponible. Pour le faire démarrer, vous devez ouvrir un nouveau shell bash ou exécutez 
<syntaxhighlight lang="bash">
source ~/.bashrc
</code>
 
Cela vous donnera accès à des commandes telles que <tt>cmakekde</tt> qui sont utilisées dans ce tutoriel de même que la vérification des chemins corrects pour les binaires de Qt, KDE et CMake.
 
Pour plus d'information, veuillez lire le tutoriel [[Getting Started/Increased Productivity in KDE4 with Scripts]].
 
=== Se connecter avec le nouvel utilisateur ===
Changer pour l'utilisateur kde-devel : (n'oubliez pas le tiret)
<syntaxhighlight lang="bash">
su - kde-devel
</code>
 
Le reste de ce tutoriel suppose que vous tournez avec l'utilisateur <tt>kde-devel</tt>.
 
== L'interpréteur de commandes du développeur ==
 
Sur certain système le shell par defaut pour les nouveaux utilisateurs est {{path|/bin/sh}}. Si ce n'est pas le cas pour votre système, vous pouvez sauter cette section. Utiliser {{path|/bin/sh}} peut poser beaucoup de problèmes et vous devriez le changer pour {{path|/bin/bash}} ou un autre shell.
 
=== Option 1 : En tant que l'utilisateur kde-devel ===
 
Si vous n'avez pas les privilèges root et que votre système vous permet le changement de votre shell pour l'application <tt>chsh</tt>, vous pouvez alors essayer de changer votre shell pour {{path|/bin/bash}} en utilisant la commande :
<syntaxhighlight lang="bash">
chsh -s /bin/bash kde-devel
</code>
 
=== Option 2 : En tant qu'administrateur ===
 
Si votre système est fourni avec l'application <tt>usermod</tt> vous pouvez lancer la commande suivante en tant que root : <tt>usermod -s /bin/bash kde-devel</tt>.
 
Une autre solution consiste à utiliser l'application <tt>vipw</tt> en tant que root pour éditer de manière sécurisée le fichier {{path|/etc/passwd}}. Localisez 'kde-devel' dans le fichier, remplacez '{{path|/bin/sh}}' à la fin de la ligne par '{{path|/bin/bash}}', sauvegardez vos modifications et quittez.
 
Le nouveau shell sera démarré automatiquement quand vous vous loggerez de nouveau en tant que kde-devel.
 
== D-Bus ==
 
QtDbus et KDE sont réputés tourner avec les versions de D-Bus 0.62, 0.92 et suivantes. Il y a des chances que les versions 0.60 et 0.61 fonctionnent meme si elles n'ont pas été testées. Il est acquis que les versions 0.90 and 0.91 ne fonctionnent pas. Nous recommandons l'utilisation des versions de type post-1.0 release (au moins 0.94), donc pensez à vous mettre à jour si vous ne l'avez pas encore fait.
 
Vous pouvez sauter cette section si vous avez une version récente de D-Bus
ou si vous ne voulez pas vous mettre à jour.
 
Avant d'aller plus en avant dans la procédure, assurez vous que vos headers et librairies X11 sont disponibles. Le script de configuration utilisé ligne 5 devrait afficher :
 
 Building X11 code:        yes
 
=== Procédure ===
 
{{tip|Assurez-vous d'avoir mis en place votre environnement tel qu'indiqué [[Getting_Started/Build/KDE4_(fr)#Mise_en_place_de_l.27environnement|ci-dessus]]. C'est nécessaire pour que les fonctions <tt>cs</tt> et <tt>cb</tt> fonctionnent.}}
 
 cs # [[Getting_Started/Increased_Productivity_in_KDE4_with_Scripts/.bashrc|cs is not a typo]]
 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=$KDEDIR/var
 make
 make install
 dbus-uuidgen --ensure
 
=== Ce qui se passe === 
Après être allé dans le répertoire des sources (ligne 1), le code source de D-Bus est téléchargé depuis freedesktop.org (ligne 2) et désarchivé (ligne 3).
Une fois dans le répertoire de D-Bus nouvellement créé (ligne 4), la compilation
est mise en place avec l'aide du script de configuration fourni (ligne 5).
Après la compilation (ligne 6) et l'installation (ligne 7) de D-Bus, nous utilisons l'outil <tt>dbus-uuidgen</tt> pour installer un fichier
d'identification de la machine qui permet au bus de démarrer automatiquement
lorsque la session du bureau est lancée (ligne 8).
 
Notez que vous devez avoir un accès en écriture à {{path|/var}} pour les deux dernières étapes. Si votre système ne connait pas la commande sudo, vous pouvez utiliser <tt>su</tt> à la place, i.e. <tt>su -c "make install"</tt>.
 
=== En cas de difficultés ===
 
Si vous obtenez l'erreur '''makeobj: command not found''', c'est qu'il vous manque la commande <tt>[[Getting_Started/Build/KDE4#Required_Software|makeobj]]</tt>.
 
== CMake ==
Sautez cette étape si vous avez [http://cmake.org/ CMake] >=2.6
Vous pouvez utiliser directement le paquetage binaire disponible sur le [site CMake http://www.cmake.org/HTML/Download.html]. Vous y trouverez aussi des paquetages spécifiques à certaines distributions.
 
=== Procédure ===
<!--'cs' and 'cb' are NOT typos!-->
 cs # [[Getting_Started/Increased_Productivity_in_KDE4_with_Scripts/.bashrc|cs is not a typo]]
 wget http://www.cmake.org/files/v2.6/cmake-2.6.0.tar.gz
 tar zxf cmake-2.6.tar.gz
 mkdir cmake-build
 cd cmake-build
 ../cmake-2.6/bootstrap
 make
 sudo make install
 
=== Ce qui se passe ===
Tout d'abord, nous devons retourner dans le répertoire de sources de l'utilisateur <tt>kde-devel</tt> (ligne 1), récupérer les sources de CMake (ligne 2) et les décompresser (ligne 3). On crée un répertoire cible pour construire CMake (ligne 4) et on va dedans (ligne 5). Enfin nous lançons le script de bootstrap de CMake afin de configurer sa construction (ligne 6), enfin on fais un <tt>make</tt> (ligne 7) et on l'installe (ligne 8) en utilisant les privilèges administrateurs (root).
 
Si votre système n'intègre pas la commande <tt>sudo</tt>, vous pouvez utliser à la place la commande <tt>su -c "make install"</tt>.
 
== Qt ==
Ensuite, il nous faut la version de Qt4 qui se situant dans les dépots KDE.
KDE se construira à coup sur avec Qt 4.3. Qt 4.2 et antérieurs ne sont pas supportés et ne fonctionneront pas. C'est toujours une version non distribuée, par conséquent votre distribution n'aura surement pas les paquetages adéquats. Il est conseillé d'utiliser les copies dans les serveurs Subversion de KDE.
 
 
=== Procédure ===
<syntaxhighlight lang="bash">
cd
svn checkout svn://anonsvn.kde.org/home/kde/trunk/qt-copy
cd qt-copy
./apply_patches
./configure -qt-gif -no-exceptions -debug -fast \
 -prefix $QTDIR -qdbus -pch -nomake examples \
 -nomake demos
make sub-src sub-tools
make -j2
 
# do copy files if the target doesnt match current dir,
# clear obj files to save disk space otherwise
if [ $QTDIR = `pwd` ]; then \
find . -name '*.o' -exec rm {} \; ; \
else make install; fi;
</code>
 
=== Ce qui se passe ===
Nous revenons au répertoire racine de l'utilisateur <tt>kde-devel</tt> (ligne 1) et téléchargeons le code source avec l'aide de subversion (svn) depuis le
dépot KDE (ligne 2). Après etre allé dans le répertoire {{path|qt-copy}} résultant (ligne 3), on lance un script qui gère les patches venant avec <tt>qt-copy</tt> (ligne 4).
 
Une fois les patches appliqués, on met en place la compilation avec le script <tt>configure</tt> (lignes 5-7). Les différentes options utilisées sont expliquées dans le fichier {{path|qt-copy/README.qt-copy}}. Enfin, on construit le strict nécessaire pour KDE (ligne 8) et on installe Qt (lignes 9-10). Si vous souhaitez avoir tous les exemples et les démonstrations, vous pouvez soit les construire individuellement, soir faire un simple <tt>make</tt> depuis le répertoire {{path|qt-copy}}.
 
Notez que l'installation ne nécessite pas d'etre en root puisque tout est installé dans {{path|$QTDIR}}. Quoi qu'il en soit, l'installation est uniquement
nécessaire si {{path|$QTDIR}} diffère de {{path|$HOME/qt-copy}}, ce qui n'est pas le cas si vous avez scrupuleusement suivi les instructions précédentes.
 
=== En cas de difficultés ===
Si vous obtenez l'erreur : "error: X11/Xlib.h: No such file or directory", installez le paquetage de developement de <tt>xorg</tt> (le nom actuel peu varier suivant votre système d'exploitation, par exemple il s'agit de <tt>xorg-dev</tt> sur les systèmes basé sur Ubuntu tel que Kubuntu).
 
Si vous obtenez une erreur dans l'étape de configuration à propos de defines manquant, vérifiez la valeur de <tt>$QMAKESPEC</tt>. Certaines distributions positionnent cette variable directement pour le Qt installé avec le système. Si tt>unset QMAKESPEC</tt> résoud le problème, vous devriez l'ajouter dans le script <tt>~/.bashrc</tt>.
 
Si vous obtenez une erreur du type ".pch/debug-shared/QtCore", c'est parceque Qt-4.3 active les en-tetes précompilés si votre gcc le supporte, mais pour une certaine raison cela ne marche pas chez vous. Si vous utilisez distcc, configurez qt avec -no-pch. Si vous utilisez icecream, mettez à jour votre version d'icecream depuis le tronc svn.
 
Essayez de faire tourner n'importe quel programme Qt, par exemple {{program|assistant}}. '''Notez :''' Il vous faudra peut-être lancer la commande <tt>xhost +local:kde-devel</tt> en tant qu'utilisateur normal de KDE3 pour démarrer cette application. S'il plante sur QSpanData::adjustSpanMethods, alors votre problème vient du style oxygen. Essayez de supprimmer {{path|lib/kde4/plugins/styles/kstyle-oxygen.so}} et {{path|lib/kde4/plugins/styles/oxygen.so}} s'ils existent dans le préfixe d'installation de KDE.
 
== kdesupport ==
 
{{warning|Si vous arrivez directement à cette section sans avoir lu [[Getting_Started/Build/KDE4_(fr)#Mise_en_place_de_l.27environnement|Mise en place de l'environnement]], '''la procédure suivante ne fonctionnera pas'''.
 
Les instructions données ne sont pas à remettre en cause; <tt>cs</tt> et <tt>cb</tt> ne sont pas des commandes unix. Votre environnement '''doit''' être correctement mis en place pour que ces instructions fonctionnent correctement.}}
 
Il existe plusieurs bibliothèques dont les applications KDE se servent dans le module appelé kdesupport. Ceci inclus Strigi et Soprano pour les recherche de fichiers et la création de métadata, eigen pour les effets visuels dans des applications tels que Kalzium, taglib pour les applications multimédia et qca pour certains besoins en cryptographie.
 
Pour installer Strigi, vous avez besoin des librairies et en-têtes de libz, libbz2, openssl (libcrypto ou libssl), libcluene (=0.9.16; la version 0.9.17 ne fonctionnera '''pas'''), et soit libxm12 ou libexpart.
 
=== Procédure ===
<!--'cs' and 'cb' ne sont PAS des commandes unix !-->
 cs # [[Getting_Started/Increased_Productivity_in_KDE4_with_Scripts/.bashrc|cs is not a typo]]
 svn checkout svn://anonsvn.kde.org/home/kde/trunk/kdesupport/
 cd kdesupport
 cmakekde
 
=== Ce qui se passe ===
Nous allons dans le répertoire de base de sources (ligne 1). On télécharge les sources pour Strigi avec subversion (ligne 2), puis on va dans le nouveau répertoire {{path|~/src/kdesupport}} (ligne 3), et on commence la construction (ligne 4). Cela nous laissera dans le répertoire de construction une fois la compilation terminée.
 
==== En cas de difficultés ====
Si vous obtenez :
 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)
vous devez installer le paquetage de développement de libxml2.
 
Si vous avez :
 CMake Error: Could NOT find REDLAND
alors il vous faudra librdf depuis Redland. Si votre distribution ne fournis pas le paquetage librdf, vous pourrez trouver son code source ici : [http://download.librdf.org/source/] et le compiler. (Pour les utilisateurs de Gentoo: L'ebuild de librdf est appelé dev-libs/redland)
 
Si vous avez :
 Fetching external item into 'kdesupport/admin'
 Error validating server certificate for 'https://...'
regardez [[Getting_Started/Sources/Using_Subversion_with_KDE|Utiliser Subversion avec KDE]]
 
Si vous avez :
 FILE cannot create directory: /usr/lib[64]/qt4/plugins/crypto. Maybe need administrative privileges.
 - - -
 make: *** [install] Error 255
Vérifiez que les chemins sont corrects dans le fichier .bashrc décris plus haut.
 
== kdelibs ==
Avec Qt4 et Strigi compilés, nous pouvons maintenant passer à la construction
des librairies de base de KDE. Si vous avez utilisé le susnommé [[Getting Started/Increased Productivity in KDE4 with Scripts/.bashrc|.bashrc]] c'est maintenant que ces nouvelles instructions deviennent utiles.
 
=== Procédure ===
<!--'cs' et 'cb' ne sont PAS des commandes unix !-->
 cs #cs n'est pas une commande unix
 mkdir KDE && cd KDE
 svn checkout svn://anonsvn.kde.org/home/kde/trunk/KDE/kdelibs
 cd kdelibs
 cmakekde
 
=== Ce qui se passe ===
Nous allons dans le répertoire de base des sources (ligne 1) puis créons et allons dans le répertoire KDE (ligne 2). On télécharge les sources de kdelibs avec subversion (ligne 3), puis on va dans le nouveau répertoire {{path|~/src/KDE/kdelibs}} (ligne 4), et on commence la construction. Cela nous laissera dans le répertoire de construction <tt>kdelibs</tt> une fois la compilation terminée.
 
{{tip|Il se peut qu'il y ait des dépendances manquantes sur votre système ! Elles sont clairement mises en évidence dans la sortie de <tt>cmakekde</tt>.
Vous pouvez faire un <tt>cmake $KDE_SRC/KDE/MODULE_NAME</tt> avant de compiler un module kde (comme kdelibs, kdepimlibs, etc.)}}
 
=== Modules additionnels de CMake spécifiques à KDE ===
Il y a des modules CMake additionnels dans {{path|kdelibs/cmake/modules/}} qui sont nécessaires pour construire les applications KDE4. Ils seront installées pour vous lorsque kdelibs sera installé.
 
=== En cas de difficultés ===
Si vous avez des problèmes lors de la compilation de kdelibs, premièrement assurez-vous que les logiciels cités dans la section [[Getting_Started/Build/KDE4_%28fr%29#Pr.C3.A9requis|Prérequis]] sont installés et fonctionnent. Une autre possibilité :
* si la commande <tt>cmakekde</tt> échoue en disant que CMake nécessite un
répertoire de compilation différent des sources, supprimez le fichier  {{path|~/src/KDE/kdelibs/CMakeCache.txt}}, et réessayez.
 
Si <tt>cmakekde</tt> donne toujours la même erreur, alors essayez ça :
 cd
 cmake -DCMAKE_INSTALL_PREFIX=$KDEDIR \
 -DCMAKE_BUILD_TYPE=debugfull \
 -DKDE4_BUILD_TESTS=ON \
 ~/src/KDE/kdelibs
 make
 make install
 
* Si vous recevez un message d'erreur disant "Please create a separate build directory and run 'cmake path_to_kdelibs [options]' there.", alors vous avez besoin d'aller dans votre répertoire de construction avant de lancer cmakekde. (i.e. <tt>cs KDE/kdelibs && cb && cmakekde</tt>)
* Si Qt n'a pas été trouvé ou qu'une mauvaise version de Qt a été détectée, assurez-vous que le qmake du Qt dont vous avez besoin est le premier dans le chemin de qmake.
* Si le problème persiste, essayez l'option de CMake <tt>--keep-going</tt>.
* Ici vous avez besoin de la librairie libungif, sinon vous aurez un message d'erreur du type : "<tt>Could NOT find GIF</tt>".
* mise à niveau de Qt-4.3 : si vous avez une erreur de lien dans kjsembed parlant de QScriptEngine, éditez le CMakeCache.txt dans les kdelibs et supprimmez les lignes parlant QT_QTUITOOLS_LIBRARY, et lancez un make (cette librairie statique a une nouvelle dépendance, et le code de cmake qui l'ajoute doit tourner.)
* Si vous obtenez l'erreur :  <code>CMake Error: KDE Requires Qt to be built with SSL support,</code> installez openssl-devel, et recompilez Qt.
* Si vous avez : <code>kdelibs/kimgio/ico.cpp:188: undefined reference to `QImage::jumpTable()'</code> cela signifie que vous avez compilé Qt sans le support de Qt3 (et le lien vers une bonne installation de Qt3 ne fonctionne pas).
* Si vous avez un pb avec la lib Soprano >= 1.99 avec Kubuntu Gutsy alors supprimez les packages libsoprano-dev et libsoprano4, checkout et cmakekde du kdesupports si ce n'est déjà fait, puis
 cs KDE/kdelibs \
 cb \
 rm CMakeCache.txt \
 cs KDE/kdelibs \
 cmakekde
 
== kdepimlibs ==
Après <tt>kdelibs</tt>, mais avant ''kdebase'', vous devez compiler et installer ''kdepimlibs''.
 
=== Procédure ===
<!--'cs' et 'cb' ne sont PAS des commandes unix!-->
 cs KDE # [[Getting_Started/Increased_Productivity_in_KDE4_with_Scripts/.bashrc|cs n'est pas une commande unix]]
 svn checkout svn://anonsvn.kde.org/home/kde/trunk/KDE/kdepimlibs
 cd kdepimlibs
 cmakekde
 
=== Ce qui se passe ===
On va dans le répertoire des sources de KDE (ligne 1), on télécharge le code source de kdepimlibs avec subversion (ligne 2) et ensuite on va dans le nouveau répertoire {{path|~/src/KDE/kdepimlibs}} (ligne 3). On commence ensuite la construction (ligne 4). Cela nous laissera dans le répertoire de construction de  <tt>kdepimlibs</tt> une fois la compilation terminée.
 
== kdebase ==
Vous aurez probablement besoin de kdebase pour faire fonctionner certaines choses comme kioslaves.
<!--'cs' and 'cb' are NOT typos!-->
 cs KDE # [[Getting_Started/Increased_Productivity_in_KDE4_with_Scripts/.bashrc|cs n'est pas une commande unix]]
 svn checkout svn://anonsvn.kde.org/home/kde/trunk/KDE/kdebase
 cd kdebase
 cmakekde
 
=== En cas de problèmes ===
Si vous avez des problèmes pour compiler kdebase:
* Assurez vous que vous avez installé <tt>libxss headers</tt>. (D'habitude vous  avez des références d'objets xscreensaver non définies si vous n'avez pas ces en-têtes)
* <tt>which meinproc4</tt> doit afficher {{path|/home/kde-devel/kde/bin/meinproc4}}
* Si cmakekde ne peut trouver le chemin pour kdepimlibs, editez le fichier {{path|$KDE_BUILD/kdebase/CMakeCache.txt}} et fixez manuellement <tt>KDEPIMLIBS_INCLUDE_DIR:PATH=$KDE_BUILD/kdepimlibs</tt>
* Si vous avez une erreur disant "Please set the following variables: X11_XTest_LIB (ADVANCED)" en anglais, installez packet de développement de <tt>Xtst</tt>. Sur certains système, il est empaqueté séparément de <tt>xext</tt> et est appelé <tt>x11proto-xext-dev</tt> ou <tt>libxtst-dev</tt>. Vous arrez aussi besoin d'effacer le fichier CMakeCache.txt dans le répertoire de construction après avoir installé ce paquetage.
* Idem pour "X11_Xinerama_LIB (ADVANCED)" pour lequel vous aurrez besoin du paquetage de développement de <tt>xinerama</tt>.
* Si vous avez l'erreur "Please set the following variables: FONTCONFIG_INCLUDE_DIR, FONTCONFIG_LIBRARIES (ADVANCED)", alors vous devez installer les en-tête libfontconfig
* Si vous avez l'erreur "CMake Error: This project requires some variables to be set, and cmake can not find them. Please set the following variables: KMETADATA_LIBRARIES", vous devez installer soprano depuis kdesupport et recompiller kdelibs
* Si vous obtenez l'erreur "‘XserverRegion’ does not name a type", vérifiez  que vous avez les en-têtes de libxcomposite installé (libxcomposite-dev dans Ubuntu).
 
== Générer localement la documentation de l'API ==
La documentation de l'API de KDE est disponible en ligne à l'adresse [http://api.kde.org api.kde.org], cependant il peut être parfois utile de l'avoir sur son propre disque. Par exemple lorsque vous voulez utiliser [[Getting_Started/Set_up_KDE_4_for_development#KDevelop|KDevelop]] pour parcourir la documentation ou si vous ne pouvez être connecté en permanence.
 
Il faut être attentif au fait que générer la documentation de l'API peut prendre plusieures heures et occuper près d'un demi gigaoctet d'espace disque.
Un script se situant dans {{path|kdelibs/doc/api}} s'occupe de générer la documentation, il vous faudra <tt>doxygen</tt> pour pouvoir l'utiliser. 
 
Pour construire la documentation de l'API de kdelibs, tapez ce qui suit:
<!--'cs' and 'cb' are NOT typos!-->
 cs KDE # [[Getting_Started/Increased_Productivity_in_KDE4_with_Scripts/.bashrc|cs n'est pas une commande unix]]
 mkdir apidox
 cd apidox
 ../kdelibs/doc/api/doxygen.sh ../kdelibs/
Si vous le souhaiter répétez l'opération pour chaque module :
 cd <répertoire de base du module>
 $KDE_SRC/KDE/kdelibs/doc/api/doxygen.sh \
 --doxdatadir=$KDE_SRC/KDE/kdelibs/doc/common .
 
== Rester à jour ==
 
Pour garder une installation de KDE4 à jour, chaque module installé doit être mis à jour de manière périodique. Le lundi étant le jour des grosses modifications sur kdelibs, le mardi est le meilleur jour pour le faire. Pour chaque module que vous contrôlerez utilisez les commandes "svn up" puis "make" et "make install".
 
Par exemple :
<syntaxhighlight lang="bash">
cs KDE/kdesupport # cs n'est pas une commande unix
svn up
cb # cb n'est pas une commande unix
make -j2 VERBOSE=1 && make install
</code>
 
 
Note: Il n'est pas nécessaire d'utiliser cmakekde pour mettre à jour.
 
== Problèmes généraux ==
 
Ce qu'il peut arriver après quelques temps, après quelques commandes <tt>svn up</tt>, est que certain des outils utilisés dans la chaîne de compilation de KDE peuvent changer de format de sortie. Par exemple, les fichiers <tt>kcfg</tt> sont lu par <tt>kconfig_compiler</tt> pour produire les dialogues de configuration. CMake ne peut détecter ces changements, et dans ce cas la compilation échoue. Une solution consiste à forcer la re-génération de tout ces fichiers :
 find $KDE_SRC/KDE/kdebase -name "*.kcfg" | xargs touch
Le même principe s'applique aux fichiers <tt>ui</tt> produits par le Qt designer.
 
== Félicitations ! ==
 
Vous êtes maintenant prêt à vous lancer dans les autres modules svn de la même manière que vous avez construit kdebase. Vous pouvez maintenant démarrer et tester KDE4 ou écrire vos propres correctifs et applications.
 
Jetez un oeil sur le tutoriel [[Getting Started/Set up KDE 4 for development|Set up KDE 4 for development]] pour savoir comment démarrer les applications KDE 4 et comment utiliser KDevelop pour travailler dessus.
 
[[Categorie:Build KDE]]
[[Categorie:KDE4]]

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V.Legal