# Installation de &kdevelop;

Dans ce chapitre, nous étudierons les étapes nécessaires pour compiler et installer l'EDI &kdevelop; :

- Le document Comment obtenir &kdevelop; se concentre principalement sur le téléchargement des souces les plus récentes de &kdevelop; depuis SVN.

- Le document Conditions requises pour &kdevelop; énumère les programmes et bibliothèques qui doivent être installés pour réussir à compiler l'EDI.

- Le document Compilation et installation de &kdevelop; vous guide tout au long des étapes de compilation et d'installation de l'application.

- Le document Comment obtenir une documentation de l'&API; &kdevelop; décrit ce qu'est une API et comment vous procurer un outil si utile pour naviguer dans les sources de &kdevelop;.

## Comment obtenir &kdevelop;

&kdevelop; est disponible sous forme d'exécutable dans différentes distributions &Linux; telles que SuSE, RedHat et autres. Ces exécutables sont conditionnés dans un format pratique, le plus souvent en RPM, pour une installation aisée. Pour l'installer, suivez les instructions standard fournies dans votre distribution.

Vous pouvez également obtenir les sources de &kdevelop;, les compiler et les installer vous-même. Vous les trouverez sur la page d'accueil du projet http://www.kdevelop.org ou sur le site ftp de &kde;.

### Obtenir les instantanés quotidiens de &kdevelop; depuis SVN

Si vous vous souhaitez être à la pointe du développement actuel, des instantanés sont disponibles sur le référentiel SVN anonyme.

Le nom du module est kdevelop à l'adresse `svn co svn://anonsvn.kde.org/home/kde/branches/KDE/3.5/kdevelop`.

#### Extraction initiale depuis SVN

Pour obtenir une version initiale de &kdevelop;, vous devez la télécharger depuis le SVN anonyme. Pour cette opération que l'on appelle extraction, suivez ces étapes.

Nous partons du principe que vous placerez votre copie de &kdevelop; dans le sous-dossier `kde3src` de votre dossier personnel (`~`).

- # Créez le dossier de destination, si nécessaire :
- `~>` `mkdir kde3src`
- `~>` `cd kde3src`
- `~/kde3src>` `svn co svn://anonsvn.kde.org/home/kde/branches/KDE/3.5/kdevelop`
- `~/kde3src>` `cd kdevelop`

Une fois que vous avez réussi à extraire votre version de &kdevelop;, vous pouvez suivre l'évolution des changements grâce à la procédure de mise à jour décrite dans la prochaine section.

Maintenez la charge du serveur faible. Ne faites pas d'extraction chaque fois que vous souhaitez conserver votre &kdevelop; à jour ! Utilisez la mise à jour par SVN à cette fin.

À présent, compilez votre version de &kdevelop; comme décrit dans la section Compilation et installation de &kdevelop;.

#### Gardez votre copie SVN à jour

Après avoir extrait (et compilé avec succèe) &kdevelop; à partir de SVN comme décrit ci-dessus, vous devrez la garder à jour afin d'obtenir tous les correctifs. Suivez ces étapes. (Nous supposons à nouveau que vous avez placé votre copie de &kdevelop; dans le dossier `kde3src`.)

Notez la commande `up` (= update) au lieu du `co` (qui signiifie checkout).

- `~>` `cd kde3src`
- `~/kde3src>` `cd kdevelop`
- `~/kde3src>` `svn up`

Gardez un œil sur les messages que SVN produit pendant la séquence de mise à jour. Les étapes exactes dans la séquence de compilation en dépendent.

Maintenant, vous pouvez compiler une nouvelle version de &kdevelop; comme décrit dans le chapitre Considérations de compilation spéciales par SVN.

## Conditions requises pour &kdevelop;

Afin de réussir à compiler et à utiliser &kdevelop;, vous avez besoin des programmes et bibliothèques suivants. Ils sont disponibles sur la plupart des plates-formes sous forme de paquetages dans votre distribution et peuvent de ce fait être installés aisément.

## Requis :

- gcc/g++ ≥ 2.95.3 (ou compatible)

  Disponible à l'adresse gcc.gnu.org

- &GNU; make (ou compatible)

  Disponible à l'adresse www.gnu.org/software/make

- &perl; 5.004 (ou supérieur)

  Disponible à l'adresse www.perl.com

- autoconf ≥ 2.52 (ou supérieur)

  Disponible à l'adresse www.gnu.org/software/autoconf

- automake ≥ 1.6 (ou supérieur)

  Disponible à l'adresse www.gnu.org/software/automake

- flex 2.5.4 (ou supérieur)

  Disponible à l'adresse www.gnu.org/software/flex

- &Qt; ≥ 3.3.0 (ou supérieur)

  Disponible à l'adresse www.trolltech.com/products/qt

- KDE ≥ 3.4.0 (ou supérieur)

  Disponible à l'adresse www.kde.org

## Optionnels :

- L'outil d'exploration des sources ctags, disponible à l'adresse http://ctags.sourceforge.net, qui vous permet en quelques clics sur un nom présent dans l'éditeur, d'accéder rapidement à des déclarations et à des définitions.

- dot, un compilateur graphique de langage, disponible à l'adresse http:/www.graphviz.org. Cet outil est nécessaire en association avec &doxygen; ci-dessous si vous souhaitez avoir des relations de classes affichées graphiquement (ce qui est vivement recommandé).

- L'outil de documentation &doxygen;, disponible à l'adresse http://www.doxygen.org pour pouvoir générer la documentation concise et puissante de l'API pour vos projets.

- valgrind disponible à l'adresse http://developer.kde.org/~sewardj/ vous aide à repérer des problèmes de gestion de la mémoire dans vos applications.

- svn à l'adresse http://subversion.tigris.org/ si vous souhaitez utiliser le système de contrôle de versions SVN.

- Tous autres compilateur et/ou outil, au cas où vous souhaitiez développer pour un langage ou une plate-forme autres que C++ / &kde;, voire utiliser certaines fonctions spéciales.

1. Vous pouvez, dans une certaine mesure, vous soustraire à la nécessité de &autoconf; ≥ 2.52 et &automake; ≥ 1.6. Supprimez simplement le dossier `admin` dans votre dossier d'installation &kdevelop; et saisissez

   - `(votre-dossier-kdevelop)>` `ln -s $KDEDIR/share/apps/kdelibs/admin admin`

   sur la console. Cette action amène &kdevelop; à utiliser les réglages par défaut dans le dossier `admin` de &kde; à la place.

2. Veillez à ne pas mélanger plusieurs versions de &Qt;. Liez toujours &kdevelop; à la même version de &Qt; avec laquelle votre bibliothèque &kde; a été compilée. Sinon, vous rencontrerez certainement des comportements très étranges.

## Compilation et installation de &kdevelop;

Une fois que toutes les conditions requises sont satisfaites, vous êtes prêt à compiler et à installer &kdevelop;. Cette annexe sera consacrée aux étapes nécessaires pour y parvenir.

- Le document Étapes préliminaires décrit la configuration d'un environnement adéquat.

- Le document Compiler &kdevelop; montre comment obtenir les sources de &kdevelop; depuis SVN, les préparer pour le processus d'installation, en terminant par la description des étapes nécessaires pour compiler et installer &kdevelop;.

- Le document Quelques notes sur la configuration des options vous explique comment exécuter &kdevelop; s'il a été installé dans un endroit autre que le dossier &kde;.

### Étapes préliminaires

Avant de démarrer la séquence de compilation, vérifiez que toutes les bibliothèques et autres outils sont à la disposition du système « make ». Pour ce faire, il faut définir correctement certaines variables d'environnement. Les étapes réelles à exécuter dépendant de la console shell que vous utilisez.

Pour éviter de saisir toutes les instructions qui définissent les variables d'environnement chaque fois que vous souhaitez compiler, placez-les dans votre fichier `.bashrc` ou `.cshrc`. Ainsi, les variables d'environnement seront correctement définies chaque fois que vous démarrez le shell.

#### Définir l'environnement pour le shell bash

Si vous utilisez le shell bash, ajoutez les lignes suivantes :

- `export KDEDIR=`(chemin vers votre installation KDE)
- `export QTDIR=`(chemin vers votre bibliothèque Qt)
- `export LD_LIBRARY_PATH=$QTDIR/lib:$KDEDIR/lib:$LD_LIBRARY_PATH`
- `export LIBRARY_PATH=$QTDIR/lib:$KDEDIR/lib:$LIBRARY_PATH`
- `export PATH=$QTDIR/bin:$KDEDIR/bin:$PATH`

#### Définir l'environnement pour le shell tcsh

Si vous utilisez le shell tcsh, ajoutez les lignes suivantes :

- `setenv KDEDIR` (chemin vers votre installation KDE)
- `setenv QTDIR` (chemin vers votre bibliothèque Qt)
- `setenv LD_LIBRARY_PATH=$QTDIR/lib:$KDEDIR/lib:$LD_LIBRARY_PATH`
- `setenv LIBRARY_PATH $QTDIR/lib:$KDEDIR/lib:$LIBRARY_PATH`
- `setenv PATH $QTDIR/bin:$KDEDIR/bin:$PATH`

### Compiler &kdevelop;

Dans l'étude suivante, nous supposons que vous avez placé vos sources &kdevelop; dans le dossier `~/kde3src/kdevelop`.

#### Considérations de compilation spéciales par SVN

Au cas où vous utiliseriez un instantané &kdevelop; issu de SVN, les étapes initiales de compilation dépendent si vous avez juste fait une extraction complète ou seulement actualisé le source.

Après une extraction de SVN

- Vous devez initialiser le système « make » après une récente extraction. La même chose est vraie chaque fois que vous devez démarrer ex nihilo. Saisissez :

  - `~/kde3src/kdevelop>` `make -f admin/Makefile.common svn-clean`

  puis toutes les étapes qui suivent.

  Vous pourrez être amené à accéder au référentiel SVN pour le nettoyage, si un fichier corrompu ou manquant doit être reconstruit.

  La commande `cvs-clean` supprime du dossier tout fichier non présent dans SVN ! Veillez à sauvegarder les informations qui présentent de l'intérêt avant d'émettre cette commande de nettoyage.

Après une mise à jour par SVN

- La prochaine étape dépend de la sortie de la séquence de mise à jour par SVN. Si vous avez obtenu quelque chose comme (il peut s'agir d'un marqueur U ou P dans la colonne la plus à gauche, les deux indiquanr que le fichier a été modifié) :

      U /un_dossier_path/Makefile.am

  ou, si vous avez juste fait une extraction complète, saisissez :

  - `~/kde3src/kdevelop>` `make -f Makefile.svn`

  avant de poursuivre avec toutes les étapes suivantes.

#### Séquence de commandes `make` de base

Dès lors que le système make de base est installé, vous devez décider quel type de système &kdevelop; vous souhaitez utiliser. Cette tâche s'effectue lors de l'étape configure suivante, qui construit les `Makefile`s réels que la commande `make` utilisera.

Vous pouvez ignorer l'option `--prefix` dans les lignes de commande `configure` suivantes si vous voulez que &kdevelop; soit installé dans le dossier &kde; pa défaut. Reportez-vous au chapitre Quelques notes sur les options de configure pour ce faire.

Une version compilée par « debug »

- Pour garder une trace de ce que fait votre application &kdevelop; au moment de l'exécution, construisez une version compilée par « debug » : il suffit d'utiliser la commande `configure` :

  - `~/kde3src/kdevelop>` `./configure --enable-debug=full --prefix=`(où-se_trouve-votre-kde3)

Une version compilée par « release »

- Si vous souhaitez n'utiliser &kdevelop; telle quelle, une version « release »(moins volumineuse mais qui s'exécute plus rapidement) suffit. `configure` règle celle-ci par défaut.

  - `~/kde3src/kdevelop>` `./configure --prefix=`(où-se_trouve-votre-kde3)

  Pour construire votre propre documentation de l'API pour &kdevelop;, vous devez inclure encore une autre option dans la commande `configure` :

  - `~/kde3src/kdevelop>` `./configure --`(options-comme-ci-dessus) `\`
  - `--with-kdelibsdoxy-dir=$KDEDIR/share/doc/HTML/en/kdelibs-apidocs`

« Make » et « Install »er &kdevelop;

- `configure` vérifie le système et construit quelques `Makefile`s en fonction de ce qu'il a trouvé. La commande `make` utilise le `Makefile` principal par défaut. Ainsi

  - `~/kde3src/kdevelop>` `make`

  suffit. Si nécessaire, acquérez à présent les droits de l'utilisateur « root » à l'aide de la commande

  - `~/kde3src/kdevelop>` `su`

  et en saisissant le mot de passe « root ». Puis installez l'application :

  - `~/kde3src/kdevelop>` `make install`

  Vous avez terminé. Si vous avez installé &kdevelop; dans le dossier &kde; par défaut, exécutez maintenant l'EDI. Sinon, quelques étapes supplémentaires seront nécessaires, comme décrit dans la section Dossier d'installation autre que le dossier par défaut ci-dessous.

  En fait, trois applications basées sur &kdevelop; auront en principe été installées :

  - L'EDI &kdevelop; — c'est l'endroit où vous travaillerez habituellement.

  - Le navigateur autonome de documentation de l'assistant de &kdevelop; — isole l'ensemble des puissantes fonctions de documentation de l'EDI &kdevelop; dans un outil séparé. Celui-ci est pratique lorsque vous voulez chercher de la documentation mais que vous ne souhaitez pas démarrer l'EDI complet.

  - Le Designer &kdevelop; — améliore le concepteur d'interface utilisateur de &Qt; par des éléments propres à &kde; et s'intègre parfaitement dans l'EDI &kdevelop;.

### Quelques notes sur les options de `configure`

#### Dossier d'installation autre que le dossier par défaut

Par défaut, `configure` prépare l'EDI à être installé dans le dossier &kde; par défaut. Ceci est nécessaire parce que &kdevelop; suppose un accès direct à certains outils et parties qui y résident. Si vous souhaitez utiliser votre propre dossier d'installation, indiquez celui-ci à `configure` à l'aide de l'option `--prefix` :

- `~/kde3src/kdevelop>` `./configure --prefix=`(où-se_trouve-votre-kde3)

Faites attention si vous procédez ainsi. Vous devez fournir un moyen à &kdevelop; d'accéder aux outils et aux parties requises dans le dossier &kde; lors de l'exécution. (Vous pouvez encore utiliser l'EDI sans faire cela, mais avec des possibilités très restreintes.)

Appelez un shell et faites en sorte que les commandes suivantes soient exécutées avant de démarrer &kdevelop; à l'invite du shell.

Veillez à utiliser le pluriel : Il s'agit de `KDEDIRS`, pas simplement de `KDEDIR`)

- `~>` `export KDEDIRS=/usr/local/kde:/opt/kde3`
- `~>` `kbuildsycoca`
- (Démarrez maintenant &kdevelop; :)
- `~>` `kdevelop`

- La variable d'environnement `KDEDIRS` doit être positionnée sur la liste des dossiers &kde; actifs dans votre système. Nous n'utilisons
- `/usr/local/kde`:`/opt/kde3`
- qu'à titre d'exemple.
- Le dossier `/usr/local/kde` peut, par exemple, contenir une version de &kde; incomplète que vous avez compilée à des fins de débogage ; en outre, le dossier `/opt/kde3` est susceptible de contenir la version standard de &kde; issus de la distribution que vous employez pour votre travail au quotidien.

Dans un shell tcsh, il faut définir les variables d'environnement en utilisant :

- `~>` `setenv KDEDIRS /usr/local/kde:/opt/kde3`

La commande `kbuildsycoca` (b uild s«ystem control cache ) lcherche les bibliothèques et met en cache leurs emplacement et version, de façon à ce que &kdevelop; puisse les trouver. À noter qu'elle prend un temps non négligeable — et qu'il faut la lancer chaque fois que vous appelez le shell pour démarrer &kdevelop; depuis un dossier autre que le dossier par défaut. Vous pouvez être amené à placer les commandes ci-dessus dans un script shell pour réduire l'effort de saisie.

(Vous pourriez également placer ces lignes dans votre fichier `.bashrc` ou `.cshrc`, mais ce n'est pas à conseiller car `kbuildsycoca` s'exécutera ensuite chaque fois que vous appellerez le shell.)

La commande `kbuildsycoca` ne s'exécute pas sous compte «root». Appelez-la à partir d'un compte utilisateur non « root ». (Mais ce n'est pas une très bonne idée de toute façon de développer des logiciels en tant que « root » !)

## Comment obtenir la documentation de l'API &kdevelop;

API est l'abrégé de « Application Program Interface ». En réalité, une telle API contient une série de descriptions (&cad; des conventions d'appel) par lesquelles un logiciel d'application peut accéder au système d'exploitation et à d'autres services. Dans notre contexte, toutefois, une définition générique a été adoptée. L'API d'une application &kde; ou &Qt; est un résumé des interfacesde classes et de méthodes, un synopsis à utiliser comme un dictionnaire pour naviguer dans les sources.

La version de l'API la plus récente est disponible sur le site web de KDevelop. Comme elle est automatiquement actualisée toutes les 24 heures, vous pouvez continuer.

Malheureusement, cette version est surtout utilisée en lecture seule sur l'internet. Si vous n'avez pas d'accès au Net, vous pouvez construire votre propre documentation de l'API à partir des sources de &kdevelop;. Pour ce faire, indiquez au système automake où trouver l'API KDELIBS dans votre système. Utilisez alors l'option spéciale `--with-kdelibsdoxy-dir` dans la commande `configure` quand vous vous préparez à compiler les sources de &kdevelop; :

- `~/kde3src/kdevelop>` `./configure --`(options-comme-d_habitude)`\`
- `--with-kdelibsdoxy-dir=$KDEDIR/share/doc/HTML/en/kdelibs-apidocs`

(`make` remplacera la variable globale `$KDEDIR` par le paramètre du dossier &kde; réel enregistré dedans.) Émettez ensuite une commande `make` comme d'habitude. Une fois que l'EDI &kdevelop; a été construit, vous avez le choix de construire l'API également. Pour cela, saisissez

- `~/kde3src/kdevelop>` `make apidocs`

Cette commande construit un `Doxyfile` dans votre dossier &kdevelop; de base, qui sera à son tour traité par l'application Doxygen pour construire une quantité considérable de fichiers d'API `.html`. Quand ce processus de construction d'API plutôt long (il peut durer plus d'une heure sur un système lent) arrive à sa fin, installez l'API tout comme vous le feriez pour l'EDI &kdevelop; lui-même. Si nécessaire, acquérez les droits de super-utilisateur (« root ») en

- `~/kde3src/kdevelop>` `su`

et en saisissant le mot de passe root. Puis installez les fichiers d'API :

- `~/kde3src/kdevelop>` `make install-apidox`

Ensuite, `make` vous indique dans queldossier vous pouvez enfin examiner le contenu de la documentation de l'API. Notez cette adresse, vous pouvez vous en servir dans &konqueror; ainsi que dans kdevelop;, au cas où vous auriez installé les sources de &kdevelop; elles-mêmes en tant que projet sur lequel travailler.

Vous verrez probablement beaucoup de messages d'avertissement et/ou d'erreurs au cours de la construction de l'API exécutée par Doxygen. Il vaut mieux les ignorer, ils n'ont d'intérêt que pour les développeurs de &kdevelop;. Si la génération de l'API aboutit avec succès, les fichiers d'API `.html` seront utilisables.