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 un programme sous GNU/Linux > Lecture du tutoriel

Compiler un programme sous GNU/Linux

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 : metalking
Note : 16 / 20 (5 votes)
Visualisations : 9 326

Plus d'informations Plus d'informations
Bonjour chers Zér0s !

Ne vous est-il jamais arrivé de vouloir télécharger un programme, et de tomber sur un fichier bizarre du genre fichier.tar.bz2 dont vous ne savez absolument pas quoi faire ? :o
Si c'est votre cas, alors ce tuto est fait pour vous !

Nous allons aborder les différents aspects de la compilation de programmes sous GNU/Linux, et en particulier avec la distribution Ubuntu (que j'utilise).
Sur ce, je vous souhaite une agréable lecture. ;)

Sommaire du tutoriel :
Icône du chapitre

Les paquets Debian, ou l'art d'installer simplement

Pour commencer, et avant de nous plonger dans de sombres lignes de commande :D , intéressons-nous aux autres possibilités qui sont offertes pour installer un programme.
La plupart des logiciels actuels sont disponibles sous une forme qu'on appelle Paquet Debian, et qui simplifie grandement l'installation de ceux-ci.

Les paquets Debian sont non seulement utilisés avec la distribution "Debian" (d'où ils ont tiré leur nom), mais aussi avec d'autres distributions basées sur cette dernière (Ubuntu en fait partie).


Les paquets d'installation portent l'extension .deb qui les rend facilement reconnaissables.
Cependant, la plupart du temps, vous ne verrez pas ces fichiers, car ils sont automatiquement téléchargés par Synaptic, le programme qui fait toute la magie d'Ubuntu, en permettant, d'un simple clic, d'installer de nombreux logiciels ! :)

Synaptic, le clic magique :magicien: (et ça rime, en plus)



Pour installer des programmes sous Ubuntu, en ligne de commande (aussi désigné par le mot console ou terminal), on utilise la commande apt-get install (voir le tutoriel de bluestorm à ce sujet).
Cependant, certains utilisateurs fuient comme la peste ce pauvre terminal et préfèrent les interfaces graphiques. :p

Sous ce mot barbare se cache un principe très simple : un ensemble de boutons, listes, zones de texte qui permettent de transformer les actions de votre souris et clavier en lignes de commande compréhensibles pour l'ordinateur. :)

Ainsi, Synaptic est l'interface graphique de la commande apt-get.

Information : apt-get ne fait pas qu'installer des paquets, elle peut aussi, selon ses paramètres, uniquement télécharger les paquets indiqués, ou encore en supprimer.
Pour plus d'infos sur apt-get, je vous invite à lire la page d'apt-get sur la documentation officielle francophone d'Ubuntu.


Interface de Synaptic
Image utilisateur


GetDeb.net, la main au paquet



Veuillez excuser ce jeu de mots plus que douteux, mais j'étais obligé de le sortir, quand même. :p

Lorsque vous désirez installer un programme, mais que ce dernier ne se trouve pas dans les dépôts de votre Synaptic, et que l'auteur du programme ne met à disposition rien d'autre que le code source, il vous reste peut-être encore un espoir de trouver un paquet Debian du logiciel.
Et ce dernier espoir a un nom : Get-Deb.net.

Sur ce site, vous trouverez des dizaines de logiciels pré-compilés en paquets Debian, et téléchargeables très simplement. :)
Pour savoir comment installer les fichiers que vous obtiendrez, direction la section suivante ! ;)

Installateur de paquets GDebian



Précédemment, je vous disais que vous n'auriez presque jamais affaire aux fichiers .deb. Mais imaginons que ce soit le cas (après un download sur GetDeb.net, par exemple), que faire ? o_O
Image utilisateur
Apparence de GDebian

Eh bien on a pensé à tout ! Ubuntu dispose par défaut d'une application nommée Installateur de paquets GDebian qui nous permet d'installer graphiquement les paquets debian .deb ! ^^

Normalement, c'est l'application par défaut lorsqu'on choisit d'ouvrir un fichier .deb, vous n'aurez donc rien d'autre à faire que de double cliquer sur votre fichier, puis de confirmer en cliquant sur Installer le paquet !

En théorie, tout est beau, tout est bien, le monde est rose et les oiseaux chantent, mais il se pourrait que ce paquet ne veuille pas s'installer. :euh:
Cette histoire, qui peut paraître fantaisiste je vous l'accorde, m'est déjà arrivée !

Que faire, dans ces cas-là ???


Il va falloir compiler le programme ! :diable: (Oh god, no !)
Rassurez-vous, il n'y a rien de bien sorcier là-dedans, et nous allons aborder ce sujet de suite. ^^

Make, configure & Cie

Vous voici dans l'impasse. Vous n'avez pas trouvé de paquet Debian, mais vous désirez plus que tout le logiciel dont vous ne pouvez avoir que le code source. :(

Pas de problème : si on a la source, on peut "refabriquer" le programme. Cette opération s'appelle "compilation".
Pour compiler un programme, le plus simple est encore de passer par le terminal (mais oui, cette console où l'on écrit des lignes de commande).

Nous allons étudier un cas un peu complexe, où certaines dépendances manquent, afin de voir le cas le plus cruel que vous pourriez rencontrer. :diable:
Les dépendances sont souvent des librairies qui sont nécessaires à la compilation du programme désiré. Si vous ne les avez pas (la compilation vous le dira), il faudra les installer (par Synaptic, pour la plupart des cas).


Premièrement, il nous faut un code source, pour avoir quelque chose à compiler (ça paraît assez logique :lol: ).

Je vous propose d'obtenir une source afin de suivre en direct le tutoriel (par exemple, celle de Pidgin, un logiciel de messagerie instantanée, qui fait suite à Gaim. Elle est disponible ici).

Étape 1 : l'extraction



Une fois l'archive téléchargée, il va falloir l'extraire dans un dossier de votre choix (vous devez cependant savoir où il se situe, et donc connaître son chemin :) ).
Ubuntu propose par défaut un gestionnaire d'archives, il vous suffit donc de faire un clic droit sur votre archive .tar.bz2, puis de cliquer sur Extraire ici, ou alors de l'ouvrir en double-cliquant, puis de choisir Extraire pour définir l'emplacement d'extraction.
Les .tar.bz2 fonctionnent un peu comme les .zip et autres .rar, ça ne devrait donc pas poser trop de problèmes pour l'instant. ;)

Étape 2 : terminal et positionnement dans le dossier



L'extraction effectuée, il faut maintenant lancer un terminal. Pour ce faire, allez dans le menu Applications -> Accessoires -> Terminal (pour Ubuntu).
Une fenêtre s'ouvre, laissant appraître ce texte :
Code : Console
compte@votre_ordinateur:~$


C'est donc dans cette fenêtre que se dérouleront la plupart des actions dans la suite du tuto. En tant que linuxien, de toute manière, vous ne couperez pas à la console, elle fait partie de l'âme de GNU/Linux, si l'on peut dire. ^^

Pour commencer l'installation, il va falloir indiquer à cette fameuse console qu'on se situe dans le dossier du programme (que vous devriez vous rappeler ;) ).
On va utiliser la commande cd (pour Change Directory, ou changer de répertoire en français).
Elle s'utilise comme suit :
Code : Console
compte@votre_ordinateur:~$ cd /chemin/de/votre/répertoire


Il faut naturellement remplacer /chemin/de/votre/répertoire par le répertoire effectif sur votre ordinateur. ^^
Les chemins sous Linux sont souvent ainsi : /home/votre_compte/Dossier1/sous-dossier.
Pour moi, ce sera par exemple : /home/metalking/Downloads/Pidgin/source.
Pour votre cas, vous pouvez connaître le chemin en vous rendant dans le dossier de la source avec l'explorateur de fichiers, puis en consultant la zone en haut de la fenêtre (voir image ci-dessous). Chaque espace entre les boutons représente un / (slash).

Image utilisateur


Attention : n'oubliez pas le / (slash) au début de votre chemin ! ;)


Vous voici dans le bon répertoire, et vous pouvez remarquer que la console vous l'indique entre le ~ et le $, sans la partie du début (/home/metalking) qui est considérée par défaut :
Code : Console
compte@votre_ordinateur:~/Downloads/Pidgin/source$

(ceci est un exemple)

Étape suivante, la configuration, avec en cadeau des jolies erreurs, on se réjouit. :)

Étape 3 : configuration et gestion des dépendances



Voilà : dorénavant, toute commande lancée dans la console s'effectuera dans le dossier qui contient notre code source.

La première commande à lancer, et non la moindre, est ./configure.
C'est très simple :
Code : Console
compte@votre_ordinateur:~/Downloads/Pidgin/source$ ./configure


Vous allez voir défiler une série d'informations à l'écran, et ensuite, ça va s'arrêter. Deux choix possibles :


Normalement, avec Pidgin, c'est la deuxième solution qui apparaît. Il nous manquera quelques headers de développement, comme GTK+ 2.0 dev, etc.
Au lieu d'installer une à une les librairies manquantes, et de relancer ./configure entre chacune, on va les installer toutes en même temps :) (chose que vous ne pourrez pas forcément faire avec un programme que vous ne connaissez pas).


Donc, on a reçu un message du genre : "Error: No package 'libgtk2.0-dev' found" (ce n'est pas exactement ça, mais je ne me souviens plus du message original).
Il va falloir installer cette fameuse librairie. Soit on le fait par Synaptic, en utilisant la fonction de recherche, soit on utilise apt-get et on n'a même pas besoin de changer de fenêtre. :D

Si vous ne connaissez pas le nom exact de la librairie manquante, il vaudra mieux utiliser Synaptic.


Comme c'est un tutoriel, je vais vous donner directement toutes les librairies à installer pour Pidgin. Lancez la commande suivante dans votre console :
Code : Console
compte@votre_ordinateur:~/Downloads/Pidgin/source$ sudo apt-get install build-essential libglib2.0-dev libgtk2.0-dev libxml2-dev libssl-dev libgnutls-dev

C'est un peu long, je vous l'accorde, mais ça a l'avantage de tout installer d'un coup.

La commande sudo indique que vous effectuez l'action en mode Super-Utilisateur, et que vous avez tous les droits. Pour faire ceci, vous devez disposer du mot de passe administrateur, qui vous sera demandé juste après que vous ayez lancé la commande.


Lorsque vous êtes capables de lancer la commande ./configure sans obtenir d'erreur, vous pouvez passer à l'étape suivante.

Étape 4 : Make



La traduction littérale de ce mot serait : "Faire" ou "Fabriquer". C'est précisément ce que nous allons faire, nous allons fabriquer les fichiers nécessaires à l'installation.

La commande qui fait ceci, je vous laisse deviner ^^ :
Secret (cliquez pour afficher)
Code : Console
compte@votre_ordinateur:~/Downloads/Pidgin/source$ make

C'est tout bête, mais indispensable.

À nouveau, une série de commandes incompréhensibles pour les humains défile à l'écran. Lorsque l'activité cesse (le texte compte@votre_ordinateur:~/Downloads/Pidgin/source$ doit être revenu sur la dernière ligne), on peut passer à la dernière étape.

Normalement, make ne pose pas de problème, c'est surtout ./configure qui fait le pénible. :lol:

Étape 5 : le retour de make : 'sudo make install'



Comme vous pouvez le voir dans le titre, la prochaine commande devra être lancée en mode Super-Utilisateur, grâce au préfixe sudo. De plus, il faudra dire à make de faire l'installation, grâce au paramètre install.

Tapez donc, dans votre terminal :
Code : Console
compte@votre_ordinateur:~/Downloads/Pidgin/source$ sudo make install


On vous demande votre mot de passe administrateur : vous l'indiquez, puis appuyez sur la touche Entrée de votre clavier. Ensuite, il faut juste attendre la fin de l'activité, pour s'assurer que le programme est installé correctement.
Là aussi, normalement, il n'y a pas d'erreur particulière.

Voilà, vous avez compilé votre premier programme ! Bravo !



Q.C.M.

Quels sont le nom et l'extension des paquets permettant l'installation rapide de programmes sous Ubuntu ?
Synaptic est un programme qui envoie des informations à la fonction apt-get, qui est chargée de désinstaller des paquets.
Quelle est la fonction qui permet de configurer la compilation d'un code source ?
Question à 48 000 € : lorsqu'il manque au programme certaines librairies nécessaires à la compilation, on parle de...

Je vous rappelle qu'il vous reste vos 4 jokers.
C'est votre dernier mot ?

Statistiques de réponses au QCM


J'espère que ce tutoriel vous aura plu, et que vous savez maintenant compiler des codes source sans aide, comme des grands !

Résumé





À bientôt sur les forums. ;)
Retour en haut Retour en haut


Créé : le 31/05/2007 à 18:01:09
Modifié : le 22/08/2008 à 16:06:52
Avancement : 100%
Licence : Copie non autorisée

14 commentaires

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 134 Zéros connectés | Requêtes SQL 8 requêtes | Temps de génération de la page : Total (SQL) 0.2296s (0.218s)