Aller au menu - Aller au contenu

[Plan du site] Vous êtes ici --- > Le Site du Zéro > Les tutoriels > Non-Officiels > Systèmes d'exploitation > Linux > Compiler Code::Blocks sous Ubuntu > Lecture du tutoriel

Compiler Code::Blocks sous Ubuntu

Vous vous apprêtez à lire un tutoriel rédigé par un membre de ce site. Malgré tout le soin que ce membre a pu apporter au tutoriel, nous ne pouvons pas garantir que les informations contenues sur cette page sont exactes à 100%. Merci de garder cela en tête lorsque vous lirez cette page ;o)
Avatar
Auteur : Xaviou
Note : 18 / 20 (30 votes)
Visualisations : 22 856

Plus d'informations Plus d'informations
Ce tutoriel a pour but de vous expliquer la marche à suivre pour compiler Code::Blocks sous Ubuntu Linux.
Il n'a pas pour but de remplacer le wiki officiel de Code::Blocks traitant de ce sujet, mais :

Il s'agit d'une réédition de ce tutoriel, suite à un oubli dans la liste des paquets à installer, ainsi qu'à l'évolution des libs wxWidgets dont dépend Code::Blocks.

Afin d'être sûr de donner une méthode fonctionnant pour tout le monde, je commence avec une installation toute fraîche d'Ubuntu 8.04, et avec une mise à jour des derniers correctifs proposés par le gestionnaire de mises à jour.

Si vous avez déjà "bidouillé" votre système (je ne vais pas vous demander de formater votre disque dur pour avoir une distribution Ubuntu toute neuve :lol: ), il se peut que vous n'obteniez pas tous les messages d'erreur que je vais lister. Dans ce cas, ne vous inquiétez pas, et continuez le tutoriel sans faire la manipulation requise pour corriger l'erreur concernée.
Sommaire du tutoriel :
Icône du chapitre

Récupérer le code source à compiler

Mais au fait, pourquoi devrait-on compiler Code::Blocks alors que l'on peut le télécharger ? o_O


Il peut y avoir plusieurs raisons à cela (mais vous ne gagnerez aucun lot même si vous devinez lesquelles sont valables :D ) :

Bref, peu importe ce qui vous pousse à vouloir réaliser cette compilation.
Le plus important est que vous soyez là, prêts à suivre ce tutoriel pendant 4 à 5 heures non-stop. :(

Non, revenez, je plaisante ! :lol:

La première étape lorsque l'on veut compiler un logiciel est d'en récupérer les sources.

Pour cela, nous avons deux possibilités :

Sur la page des téléchargements de Code::Blocks, on s'aperçoit que la dernière version disponible sous forme d'archive correspond à la version 8.02 (elle date donc de février 2008). Tant qu'à faire, nous n'allons pas nous contenter d'une version âgée de quelques mois, alors que nous pouvons en obtenir une toute récente.

Nous n'allons donc pas récupérer les sources de cette manière, mais en obtenir la dernière version par SVN.
Pour ceux qui ne connaissent pas SVN, et pour faire simple, nous dirons qu'il s'agit d'un logiciel permettant de gérer le code source d'une application développée par plusieurs personnes en même temps.
Pour plus d'infos, je vous laisse consulter l'article concernant SVN sur Wikipédia, ou encore mieux, le tutoriel de Dalshim intitulé "Gérez vos projets à l'aide du gestionnaire de versions Subversion".

Comme SVN (qui est en fait un diminutif de Subversion) est un logiciel bien spécifique, il n'est bien sûr pas installé par défaut sous Ubuntu.
Notre première tâche consistera donc à l'installer.
Pour ce faire, entrez la commande suivante dans un terminal :
Code : Console
sudo apt-get install subversion

Normalement, cette commande ne devrait pas poser de problèmes : entrez votre mot de passe administrateur et confirmez l'installation lorsque l'on vous le demande (il vous sera indiqué qu'un certain nombre de paquets supplémentaires seront installés en même temps).

Nous allons maintenant récupérer les sources de Code::Blocks avec SVN, et pour cela, nous allons suivre la méthode indiquée sur la page du site de Code::Blocks consacrée à la récupération des sources par SVN.

Nous allons donc dans un premier temps créer un répertoire de travail et nous placer dans ce dossier :Code : Console
mkdir codeblocks

cd codeblocks

Maintenant, lançons la commande servant à récupérer les sources :
Code : Console
svn checkout svn://svn.berlios.de/codeblocks/trunk

La première fois que l'on exécute cette commande, tous les fichiers sources sont à récupérer.
Cela peut être un peu long, ne vous inquiétez pas. :-°
Pour information, la version que je viens de récupérer pour faire ce tuto contient 3463 fichiers, et "pèse" 29,5 Mo.
Et pour corser un peu le tout, les 3463 fichiers sont téléchargés un par un.

Lorsque vous voudrez recompiler une nouvelle version (et c'est là toute la force de SVN), seuls les fichiers ayant été modifiés seront téléchargés, et ce sera plus rapide. :D

Lorsque le téléchargement est terminé, SVN nous indique quelle est la révision que l'on vient d'extraire.
Ce numéro sert à identifier la version que l'on va compiler.
Il est donc de ce fait possible de s'en servir pour compiler une version plus ancienne.

Faisons un petit test.
Lors de la rédaction de ce tutoriel, je viens de récupérer la révision 5105.
Nous allons maintenant voir comment récupérer la révision précédente.
Entrez la commande suivante (je vous laisse adapter avec vos propres numéros de révision) :
Code : Console
svn checkout --revision 5104 svn://svn.berlios.de/codeblocks/trunk

Vous voyez comme le passage d'une révision à une autre peut être rapide (dans mon cas, seul un fichier a été modifié entre les révisions 5104 et 5105).

C'est terminé pour la récupération des sources. Il ne nous reste plus qu'à compiler tout ça. :euh:

Compiler Code::Blocks

Nous voici rendus en plein coeur du sujet principal.

Vous devez maintenant avoir un dossier contenant la dernière révision (ou tout simplement celle que vous voulez compiler ;) ).

Mais avant de démarrer la compilation, nous devons disposer de tous les outils nécessaires à cela. Nous aurons besoin de la dernière version de "autoconf", "automake", ainsi que de "libtool".
Pour ceux que ça intéresse, il s'agit d'outils permettant de préconfigurer un répertoire contenant les sources d'un logiciel. Ils font partie d'une "suite logicielle" nommée : les Autotools. Et pour les plus curieux d'entre vous, voici un article (très sommaire, j'en conviens :p ) expliquant cela sur Wikipédia.

Pour ma part, non seulement je n'ai pas la dernière version de ces outils, mais ils ne sont pas installés du tout. :(

Pour autoconf et libtool, pas de soucis, une petite commande apt-get install autoconf libtool suffit. Par contre, pour automake, la commande apt-get install automake installera la version 1.4, alors qu'une version plus récente est disponible (et nécessaire :D ) : la version 1.9.

Il faut donc spécifier la version à installer. Voici la commande à saisir :
Code : Console
sudo apt-get install autoconf automake1.9 libtool

Comme la plupart du temps, il vous faudra confirmer l'installation de paquets supplémentaires dont dépendent ceux que nous voulons installer.

Ensuite, toujours sur le wiki de Code::Blocks, on nous dit de compiler la bibliothèque wxWidgets. :euh:

Comme ce processus est un peu compliqué, et surtout qu'il est assez long à réaliser :-° , nous allons utiliser une alternative : installer cette bibliothèque directement depuis les dépôts officiels d'Ubuntu.
Pour ceux d'entre vous qui possèdent une version plus ancienne d'Ubuntu que la 8.04, wxWidgets-2.8.7 n'est pas présent dans les dépôts officiels Ubuntu. Il vous faudra utiliser le dépôt officiel wxWidgets. Je vous laisse donc choisir la bonne méthode en fonction de votre distribution

Pour Ubuntu 8.04


Pour l'installation depuis le dépôt Ubuntu, il faut activer les dépôts Universe : lancez l'utilitaire de configuration des sources de logiciels (menu "Système", "Administration", "Sources de logiciels").
Image utilisateur
La fenêtre de l'utilitaire de gestion des sources de logiciels d'Ubuntu

Cochez la deuxième ligne si ce n'est pas déjà fait. Dans ce cas, lorsque vous cliquerez sur le bouton "Fermer", une petite boîte de dialogue va apparaître, vous indiquant que la liste des logiciels disponibles est obsolète, et qu'il faut recharger ces informations.
Comme cette boîte de dialogue possède un bouton "Actualiser", il ne vous reste plus qu'à cliquer dessus, et le tour est joué. :p

Pour les versions précédentes d'Ubuntu :


Pour l'installation depuis le dépôt wxWidgets, c'est à peine plus compliqué. Il faut dans un premier temps ajouter l'adresse du dépôt. Comme ci-dessus, ouvrez le gestionnaire des sources de logiciels, passez à l'onglet "Logiciels de tierces parties" et cliquez sur le bouton "Ajouter". Vous obtenez une jolie boite de dialogue vous permettant d'entrer l'adresse complète du dépôt.
Cette adresse est à adapter à votre distribution : elle est de la forme :
Code : Autre
1
deb http://apt.wxwidgets.org/ distrib-wx main

Vous aurez compris qu'il faut remplacer distrib par le nom de code de votre distribution : gutsy, feisty, edgy, ... en prenant soin de bien laisser la partie "-wx" pour que ça marche. Voici, par exemple, ce que ça donne pour Ubuntu 7.10 :
Image utilisateur
L'ajout du dépôt wxWidgets pour Ubuntu 7.10 Gutsy Gibbon

Cliquez ensuite sur le bouton "Ajouter une source de mise à jour" pour valider, et sur le bouton "Fermer". L'utilitaire vous propose de mettre à jour la liste des paquets qui est devenue obsolète suite à l'ajout de ce nouveau dépôt.
Ne le faites pas ! (enfin, si vous l'avez fait, ce n'est pas grave, mais ça ne sert à rien).
En effet, il faut encore que l'on installe la clef de vérification de ce nouveau dépôt.
Revenez à votre fenêtre "Terminal", et entrez la commande :
Code : Console
wget -q http://apt.wxwidgets.org/key.asc -O- | sudo apt-key add -

Ubuntu va télécharger le fichier contenant la clef à installer, puis attendre que vous saisissiez votre mot de passe administrateur, et enfin installer cette clef. Vous devriez au final obtenir le message "Ok" vous indiquant que tout s'est bien passé.

Maintenant que cette clef est installée, nous allons pouvoir demander la mise à jour de la liste des paquets disponibles :
Code : Console
sudo apt-get update


Installer la bibliothèque wxWidgets :


Il nous faut la version développement de cette bibliothèque, et il nous faut également un paquet nommé wx-common qui contient des utilitaires permettant de faciliter la compilation d'un programme utilisant la bibliothèque wxWidgets.

De plus, ce que le wiki ne nous dit pas, c'est qu'il nous faut installer le paquet build-essential (qui, comme son nom l'indique, contient l'essentiel pour la compilation :lol: ), et libgtk2.0-dev (qui contient la version développement de la bibliothèque GTK2.0, servant à la création d'interfaces graphiques, et dont dépend wxWidgets).

C'est tout, oui ? On ne va quand même pas rapatrier tous les paquets d'Ubuntu sur notre disque dur ? :colere2:

Pas de panique : oui, c'est tout (pour l'instant :lol: ).

Nous allons donc installer tous les paquets dont je viens de vous parler avec une seule commande (ouahhhh, t'es trop fort !!!! :D ).
N'oubliez pas que même sous Linux, le copier-coller est votre ami (tant que vous n'en abusez pas :p ).
Code : Console
sudo apt-get install build-essential libgtk2.0-dev libwxgtk2.8-dev wx-common


Compiler Code::Blocks :


Voilà, nous avons normalement installé tout ce qu'il nous faut pour compiler Code::Blocks. Il ne nous reste plus qu'à le faire.
Chaque fois que vous voudrez refaire la compilation (par exemple, après une mise à jour des sources), il faudra reprendre le tutoriel à cet endroit. Il ne sera pas nécessaire de refaire les installations citées précédemment. :-°


Si vous listez le contenu de votre répertoire codeblocks (commande ls), vous vous apercevrez qu'un dossier trunk a été créé.

Nous allons tout d'abord nous placer dans ce répertoire trunk.
Code : Console
cd ~/codeblocks/trunk


La première chose à faire avant de lancer la compilation est d'appeler les outils que nous avons installés au début de cette partie, à savoir autoconf et automake.
Nous n'allons cependant pas le faire directement, car le répertoire des sources contient un petit script permettant de le faire (avec les bons paramètres ;) ).
Il suffit d'entrer la commande suivante :
Code : Console
./bootstrap

Ce script va faire une première configuration du dossier contenant les sources, en analysant tous les sous-dossiers afin de savoir quelles sont les options disponibles pour la compilation.

Ne tenez pas compte du message qui pourrait s'afficher, vous disant d'ajouter le contenu d'un fichier à celui d'un autre fichier, comme ci dessous :
You should add the contents of '/usr/share/aclocal/libtool.m4' to 'aclocal.m4'

Le résultat le plus visible de bootstrap est la création d'un deuxième script : configure.
Celui-ci, vous en avez peut-être déjà entendu parler, car il est fréquent de l'utiliser lorsque l'on fait une compilation sous Linux.
Il sert tout d'abord à vérifier que notre système contient tout ce qu'il faut pour compiler, et également à activer ou désactiver certaines options lors de cette compilation.

Pour savoir quelles sont les options disponibles pour Code::Blocks, il faut l'exécuter (le script, pas Code::Blocks :lol: ) avec le paramètre --help. Par exemple, si vous ne voulez pas intégrer le plugin "Code completion", il faut saisir la commande ./configure --disable-code-completion.


Nous n'allons pas toucher aux options par défaut. Il nous suffit donc de l'exécuter sans paramètre :
Code : Console
./configure


Normalement, après une bonne série de tests, la création de quelques sous-dossiers, et la mise en place des Makefile, vous devriez obtenir un joli petit message (en anglais :-° ) vous confirmant le fait que Code::Blocks est maintenant prêt à être compilé avec la commande make.

Code : Console
make

C'est parti mon kiki ! :p

Vous pouvez aller manger, boire, prendre une douche, ou faire une petite sieste, car il y en a pour un bon petit moment (comptez une bonne quinzaine de minutes).

Je sais, ça ne sera qu'une petite sieste, mais il ne faut pas abuser non plus, on est là pour bosser quand même, non ? :lol:

Pour les personnes possédant un microprocesseur "multi-coeurs", il est possible de lancer plusieurs processus en même temps, gràce à la commande : make -j2 (pour 2 processus, par exemple). Cette commande est à saisir à la place de celle indiquée précédemment : il ne faut surtout pas ouvrir une deuxième fenêtre "Terminal" pour la lancer !

Lorsque la compilation est terminée, il ne nous reste plus qu'à installer notre tout nouveau logiciel en entrant la commande :
Code : Console
sudo make install

Quand tout est fini, vous devriez pouvoir démarrer Code::Blocks en passant par le menu Applications, Programmation (ou Développement, suivant les versions d'Ubuntu).

Encore une petite chose : la compilation de Code::Blocks a généré de nombreux fichiers intermédiaires qu'il est inutile de conserver et qui tiennent beaucoup de place.
Je vous conseille donc de les supprimer avec la commande suivante (toujours en étant dans le répertoire trunk) :
Code : Console
make clean distclean

Le paramètre clean sert à supprimer les fichiers temporaires créés lors de la compilation, et le paramètre distclean permet de supprimer les fichiers créés par la commande configure.


Les soucis d'éxécution de Code::Blocks


Il se peut que Code::Blocks ne démarre pas.
Dans ce cas, passez par la fenêtre terminal, et entrez la commande :
Code : Console
codeblocks

Vous devriez obtenir un message du style :
error while loading shared libraries : libcodeblocks.so.0: cannot open shared object file: No such file or directory
Il s'agit en fait d'une configuration qui s'est mal effectuée lors de l'installation des paquets.
Pour résoudre ce problème, il suffit d'entrer, dans la fenêtre terminal, la commande :
Code : Console
sudo ldconfig

Normalement, après cela, tout devrait rentrer dans l'ordre.

Il se peut, sous Ubuntu 8.04, que vous rencontriez des problèmes lors de la saisie de code dans l'éditeur de Code::Blocks : la touche [Espace] ne semble plus marcher. Il s'agit en fait d'un problème de configuration du serveur graphique.
Il faut éditer le fichier de configuration du serveur xorg :
Code : Console
sudo gedit /etc/X11/xorg.conf

Recherchez la ligne Option "XkbVariant" "oss" et commentez-la en insérant un caractère "#" au début :
Code : Autre
1
#Option        "XkbVariant"    "oss"

Il faut ensuite redémarrer le serveur xorg en pressant les touches [Alt] + [Ctrl] + [Del] (pensez à fermer les éventuelles applications ouvertes).


Voilà, vous savez tout c'est terminé ! :(

Vous pouvez maintenant intégrer l'équipe de développement de Code::Blocks. :lol:

J'espère que ma prose n'a pas été trop rébarbative, et que ce tutoriel vous sera utile.

Je suis bien sûr ouvert à toute piste d'amélioration (ce tutoriel ne demande qu'à évoluer avec vos besoins), et disponible si vous rencontrez le moindre problème.

Bonne compilation, et longue vie au SdZ !
Retour en haut Retour en haut


Créé : le 21/05/2007 à 22:02:23
Modifié : le 25/08/2008 à 19:57:20
Avancement : 100%
Licence : Copie non autorisée

L'orthographe, la grammaire et la présentation de ce tutoriel ont été vérifiées par les zCorrecteurs.

Changer de design | En savoir plus | Plan du site | Politique d'accessibilité | Règles | RSS tutoriels | RSS news
Édité par Simple IT SARL : Nous contacter | Notre blog | Revue de presse | Publicité

Y'a plus rien à lire, faut remonter maintenant !

Hébergement web - Correction de tutoriels - Créer un site
Vous souhaitez apparaître ici ? Contactez-nous.

Nombre de connectés 103 Zéros connectés | Requêtes SQL 8 requêtes | Temps de génération de la page : Total (SQL) 0.1405s (0.131s)