Installation de Code::Blocks sur Debian et dérivés

Arnaud Feltz

Cet article a pour but de vous aider et de vous montrer comment installer Code::Blocks facilement à partir des « Nightly Builds », ce qui vous permet donc d'avoir toujours une version à jour.

- Titre : Installation de Code::Blocks sur Debian et dérivés

- Auteur : Arnaud Feltz

- Parution : 12 novembre 2007

- Mise à jour : 9 mars 2020

- Licence : Copyright ® 2007 buchs. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Sommaire

- I. Prérequis

- I-A. Debian

- I-B. Ubuntu

- II. Installation

- II-A. Récupération des sources

- II-B. Compilation

- II-C. Installation proprement dite

- III. Mise à jour

- IV. Conclusion

- V. Remerciements

I - Prérequis

I-A - Debian

Avant même d'installer Code::Blocks, il faut un minimum de préparation et de paquets. Il faut donc Subversion afin de récupérer la dernière version mise à jour, les bibliothèques wx-widgets ainsi que les bibliothèques gtk, ainsi que la dernière version des autotools. Voici donc la liste des paquets à installer :

# apt-get install automake1.9 autoconf libtool subversion wx-common sysutils libgtk2.0-dev

Dans les révisions récentes de Code::Blocks, la version 2.6 des bibliothèques wx-widgets ne suffit plus, il faut la version 2.8, or celle-ci n'est pas (encore) présente dans les dépôts officiels de Debian et Ubuntu, il faut récupérer les paquets sur un autre miroir, mais là encore, pas de panique, j'explique ça dans la suite.

Dans un premier temps, il faut rajouter le miroir dans le fichier sources.list, pour cela (en superutilisateur) :

# echo "deb http://apt.wxwidgets.org/ etch-wx main" >>/etc/apt/sources.list
# wget http://apt.wxwidgets.org/key.asc -O- | apt-key add -
# apt-get update
# apt-get install libwxgtk2.8-dev

Notez que j'ai mis etch-wx, mais c'est valable aussi si vous êtes sous sid, pour ceux qui sont sous Ubuntu, sont aussi présents : dapper-wx, edgy-wx, feisty-wx et gusty-wx.

I-B - Ubuntu

Si vous êtes un adepte de Synaptic, voici la méthode pour récupérer les paquets.

Ouvrez synaptic, puis :

- allez dans : Système > Administration > Gestionnaire de paquets Synaptic et entrez le mot de passe superutilisateur ;

- cliquez sur Rechercher et tapez libwx (cf. : l'image ci-dessous) :

- dans la liste des paquets, sélectionnez libwxgtk2.8-dev avec un clic droit, puis cliquez sur Sélectionner pour installation, le gestionnaire va automatiquement installer les paquets nécessaires.

De la même manière, vous pouvez installer les autres paquets s'ils ne le sont pas encore.

Il se peut qu'il soit nécessaire de reconfigurer vos dépôts pour avoir accès à certains paquets, pour cela, dans Système > Administration > Sources de logiciels :

II - Installation

II-A - Récupération des sources

Maintenant que vous avez tout installé, on peut passer à la récupération des sources proprement dites. Pour cela, il vous faut déjà un répertoire d'accueil.

$ mkdir -p ~/svn && cd   ~/svn

Une fois dans ce dossier nous pourrons récupérer les sources de Code::Blocks, pour cela, rien de plus simple :

$ svn checkout http://svn.berlios.de/svnroot/repos/codeblocks/trunk CodeBlocks

Une fois les sources récupérées, rendez-vous dans le dossier CodeBlocks créé. Code::Blocks étant développé sous Windows, plein de caractères invisibles sont générés, ce qui provoque des erreurs, mais on va y remédier en deux temps, trois mouvements :

$ cd CodeBlocks
$ find . -type f -exec dos2unix {} \; 2>/dev/null

Une fois fait, vous aurez des sources propres et utilisables sous Linux.

II-B - Compilation

Passons maintenant à la compilation proprement dite. On peut rendre le fichier bootstrap (qui va vérifier si les dépendances sont bonnes) exécutable.
Pour cela :

$ chmod +x bootstrap

Puis exécutez-le, c'est ici, une des parties les plus délicates, car si les dépendances des autotools ne suffisent pas, vous ne pourrez pas compiler Code::Blocks…
Pour continuer, assurez vous donc d'avoir :

- automake en version 1.9 (normalement ça c'est bon si vous avez réussi à l'installer plus haut) ;

- autoconf en version 2.5 et supérieure ;

- libtool en version 1.4 et supérieure.

Pour vérifier facilement la version de vos paquets, il suffit de taper une des commandes suivies de l'option --version. Si toutes les dépendances sont satisfaites, vous pouvez continuer.
On exécute donc bootstrap :

$ ./bootstrap

Normalement vous aurez des erreurs similaires à celles ci-dessous, mais il faut les ignorer.

You should add the contents of `/usr/share/aclocal/libtool.m4' to `aclocal.m4'.
/usr/share/aclocal/libmcrypt.m4:17: warning: underquoted definition of AM_PATH_LIBMCRYPT
/usr/share/aclocal/libmcrypt.m4:17:   run info '(automake)Extending aclocal'
/usr/share/aclocal/libmcrypt.m4:17:   or see http://sources.redhat.com/automake/automake.html#Extending-aclocal
configure.in:9: installing `./missing'
configure.in:9: installing `./install-sh'
src/base/tinyxml/Makefile.am: installing `./depcomp'

Normalement un fichier configure est créé, si ce n'est pas le cas, c'est que la version d'automake utilisée n'était pas la bonne, mais pas de panique, si c'est le cas, exécutez les lignes suivantes :

$ libtoolize --force --copy
$ autoheader
$ automake-1.9 --include-deps --add-missing --foreign --copy
$ autconf

Vous voici donc avec un fichier configure maintenant (du moins si toutes vos dépendances sont satisfaites).

Il vous suffit maintenant d'exécuter le fichier de configuration.

$ ./configure

Si pour une raison ou pour une autre, vous ne souhaitez pas installer Code::Blocks dans le répertoire défini par défaut, vous pouvez indiquer lors de la configuration l'endroit où vous souhaitez que les binaires soient installés.

C'est utile lorsque vous voulez garder un système propre ou que vous n'avez pas les droits de superutilisateur pour installer un programme. Dans ce dernier cas, il vous suffira de changer le chemin d'installation vers votre répertoire personnel ou tout autre répertoire sur lequel vous pouvez effectuer des opérations. Pour réaliser cela, rien de compliqué, en effet, il suffit de rajouter l'option --prefix=/home/titi/CodeBlocks (à adapter selon vos envies et/ou besoins bien sûr) lors de la configuration, ce qui donnera donc :

./configure --prefix=/home/titi/CodeBlocks

Suivi du fameux make, mais attention, il se peut qu'il y ait des erreurs dans certaines révisions et donc que le make génère des erreurs. Si ce dernier retourne des erreurs, vous ne pourrez rien faire d'autre que d'attendre la prochaine révision afin de tenter de la compiler.
Pour compiler donc :

$ make -j2

L'option -j2 est facultative, elle permet juste d'utiliser plus de puissance CPU afin que la compilation se déroule plus rapidement.

II-C - Installation proprement dite

Pour installer les binaires compilés, il existe deux manières de procéder. La première, plutôt traditionnelle et l'autre, un peu moins connue, mais qui est plus sûre.

La première méthode est de taper : make install. Selon l'endroit ou vous souhaitez installer votre éditeur Code::Blocks, les droits de superutilisateur seront requis.

$ su
# make install

Voyons maintenant la seconde manière d'installer vos paquets. Il existe un paquet Debian dans les dépôts nommé checkinstall. Ce dernier fait exactement la même chose que ci-dessus, c'est-à-dire un make install, mais avec une particularité qui fait toute la différence.
En effet, il ne se contente pas d'installer les binaires à l'endroit où vous avez décidé de les installer, il va en plus construire un paquet Debian à partir des sources. Ainsi, si un problème intervient un jour, vous pourrez toujours réinstaller le paquet à votre guise.
Mais il présente aussi l'avantage de supprimer le paquet que vous venez d'installer proprement, la plupart du temps, sans laisser de traces.

Voici donc la méthode à suivre pour l'installer et l'utiliser :

$ su -
# apt-get install checkinstall
# cd ~/svn/CodeBlocks/
# checkinstall

Dans tous les cas, n'oubliez pas de faire un make clean afin de supprimer les fichiers inutiles après avoir effectué make install.

Voici donc qui est fait, Code::Blocks est installé sur votre Linux! Mais ce n'est pas tout à fait fini, il se peut que lors du premier lancement, vous ayez une erreur du style :

$ codeblocks
codeblocks: error while loading shared libraries: libcodeblocks.so.0: cannot
open shared object file: No such file or directory

Pour remédier à cela, il vous suffit de trouver le fichier manquant (qui se situe normalement dans /usr/local/lib) et de le rajouter dans la variable d'environnement comme suit :

$ find /usr -name libcodeblocks.so.0
$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
$ codeblocks

Une fois fait, retentez d'exécuter codeblocks, et là ça devrait fonctionner.

III - Mise à jour

Pour la mise à jour, rien de plus simple, il vous suffit de récupérer les nouvelles sources avec svn et de reprendre les étapes à partir de la configuration, c'est-à-dire :

$ cd ~/svn/CodeBlocks
$ svn up
$ ./configure
$ make
# make install

Et le tour est joué ! Ainsi vous aurez une version de Code::Blocks toujours à jour sans avoir à attendre que les paquets soient créés pour votre distribution.

N'oubliez pas de faire un make clean afin de supprimer les fichiers inutiles après avoir effectué make install.

IV - Conclusion

Voici donc deux images. La première étant l'écran de démarrage (contenant le numéro de révision) et la seconde l'application une fois lancée.

Cet article vous montre donc comment garder un IDE puissant et surtout très actif et bien tenu à jour et ainsi disposer des dernières fonctionnalités à moindres frais.
Bon codage!

V - Remerciements

Je tiens à remercier Janitrix pour sa relecture orthographique, ainsi que Ashgenesis et ovh pour l'enrichissement technique de l'article et leur disponibilité.