A noter
Les articles
Linux
Distributions Environnements de bureau Portails
Tutoriels divers
Propagande Divers |
Compiler les sources
Préalables
Introduction C'est quoi compiler ? Un logiciel est écrit dans un language de programmation (comme le C++) . Ces sources doivent être traduites (=compilées) en binaire (suite de 0 et de 1) pour que votre ordinateur puisse les interpreter. Idem sous Windows. La différence ici c'est que les sources sont à priori publiques et gratuites. Vous pouvez donc créer des executables en compilant les sources publiques d'une application et adapter le tout pour votre environnement (distribution, matériel notamment). La plupart du temps, il existe des paquetages pré-compilés qui permettent l'installation du logiciel (comme un setup.exe si vous voulez). Cependant, s'ils n'existent pas dans un cas précis ou que vous souhaitiez optimiser votre système, il faudra compiler alors les sources de cette application. Notez que certains projets (exemple Cedega de Transgaming) font payer les paquetages compilés mais laisse un accès aux sources CVS (voir plus bas). Les paquetages sont pré-compilés pour des architectures de processeurs bien précises (i386 par exemple). Si votre ordinateur est plus récent, compiler des sources pour i686 (pentium IV) ou x86_64 (amd64) rend l'application plus rapide. La rétro-compatibilité empêche votre CPU de donner toute sa mesure. Les dépendances La plupart des logiciels sous Linux s'appuient sur d'autres programmes (souvent des commandes consoles d'ailleurs) ou des librairies. On parle de 'dépendances'. C'est pour ça d'ailleurs que les softs sont légers car les dévellopeurs n'ont pas besoin de tout refaire dans le programme : ils peuvent utiliser les softs libres existants. Le principal souci avec la compilation des sources, c'est que l'installation des dépendances n'est pas automatique. Ainsi, la recherche de dépendances s'apparente parfois à une quête ! Exemples :
La bonne nouvelle c'est qu'au bout d'un certain temps, on finit par avoir une belle collection de dépendances et que la quête est résolue d'avance ! Un des problèmes classiques est d'avoir une mauvaise version d'une dépendance. Assurez vous que vous utilisez des sources récentes (programme et dépendances). Parfois un programme refuse de compiler parce qu'il existe une vieille version pré-compilée d'une dépendance alors même que vous venez juste de compiler une version plus récente de cette dépendance. Dans ce cas, désinstallez la vieille version en recourant à votre installateur de paquetages. Ce sera parfois impossible parce que l'installateur voudra vous enlever plein d'autres choses (la dépendance peut-être multiple)... La dépendance incontournable pour compiler : les sources du noyau Linux. Il faut également que le compilateur gcc soit présent. Compilons ! Les sources d'un logiciel se trouvent la plupart du temps sous une forme archivée (format tar.bz2, tar.bz, zip, rar etc). Il faut donc d'abord les décompresser (lire ce tutoriel). Je vais partir de 3 principes dans mon exemple :
Ouvrez une console et faites : $ cd ~ Vous vous placez dans le dossier /home/votre_login $ tar xvjpf ~/Desktop/nom_de_l'archive.tar.bz2Décompression de l'archive présente sur le bureau. Un répértoire du même nom sera sûrement créé. $ cd nom_du_logicielVous rentrez alors dans le dossier nouvellement créé (à priori donc /home/votre_login/nom_du_logiciel $ ./configureCeci lance un script qui va construire des fichiers de configuration et rechercher les dépendances nécessaires au logiciel. Souvent, il est possible (voire nécessaire) d'ajouter (on dit 'passer') des options au ./configure. C'est indiqué à priori dans le fichier d'aide (readme). Si une dépendance est absente, la commande stoppera avec un message d'erreur. Lisez le attentivement : cela doit vous indiquer le nom de la dépendance absente. Vous devrez l'installer au préalable puis recommencer : cherchez via votre installateur de paquetage ou bien par un paquet isolé (faites une recherche) ou bien encore en compilant ses sources (idem faites une recherche pour ces sources). $ makeCeci compile l'executable en utilisant les informations générées par configure. Là encore, l'absence d'une dépendance est la principale cause de plantage, mais là les message d'erreur sont plus obscurs. Attention, la compilation prends du temps... $ su -c make install Cette dernière étape est facultative mais permet "d'appeller" le logiciel en console à partir de n'importe quel dossier. La modification de la 'table des matières' étant réservée à root, le mot de passe administrateur vous sera demandé. Sous Ubuntu, il faudra à la place taper sudo make install et rentrer le mot de passe utilisateur. Exécuter l'application Regardez le contenu du dossier dans lequel vous avez fait la compilation. Recherchez le nom de l'executable créé. Il suffit alors de taper ce nom en console. Exemple avec Firefox : $ cd ~/Programmes/Firefox Rentre dans le bon répertoire. C'est inutile si vous avez suivi l'étape 'make install'. $ ./firefoxExecute l'executable 'firefox'. Parfois il suffit de taper la commande sans le ./ Vous pouvez bien sûr créer une icône de raccourci dans votre barre de tâches, dans le menu KDE/Gnome ou sur votre bureau. Compiler à la souris ? Et oui c'est possible ! Grâce au logiciel Kompile. J'ai trouvé cette petite perle ici et voici le site officiel (en italien). Le soft lui même est en anglais. Vous pouvez :
En gros, Kompile vous demande de vous logguer en root pour pouvoir faire l'étape de make install. C'est donc recommandé (1ère option). Si vous souhaitez ne pas faire cette étape, et bien ma foi la 2èm (ou la 3èm : vous spécifiez le répertoire de destination) sera donc suffisante. Cliquez alors sur Install. Le soft décompresse alors l'archive puis fait le ./configure, le make et enfin le make install. Tout seul comme un grand . Evidemment s'il manque une librairie, il stoppe. Regardez alors les détails pour savoir le problème. Ce soft est une interface graphique, pas un magicien. S'il faut passer des options au ./configure ou bien faire de la chirurgie, ca ne fonctionnera pas. D'autre part, comme c'est un projet en dévellopement, mieux vaut mettre à jour ce soft régulièrement. Mais avouez, c'est plutôt sympa non ? CVS et Subversion
CVS CVS (Concurrent Versions System) est un logiciel libre, distribué sous license GPL, gérant les versions d'applications. Il est utilisé par de nombreux développeurs pour mettre à jour les sources sur lesquelles ils travaillent. Il donne aussi la possibilité aux utilisateurs d'importer les toutes dernières versions de développement dans le but de compiler un logiciel très à jour. Prenons un exemple : nous allons importer les sources du logiciel mplayerplug-in. L'importation se déroule normalement en 2 étapes: le login et le téléchargement. 1) Le login : $ cvs -d:pserver:anonymous@mplayerplug-in.cvs.sourceforge.net:/ cvsroot/mplayerplug-in login Le login s'effectue ici en anonyme sur le serveur de SourceForge et nous nous connectons sur les sources du projet mplayerplug-in. 2) Le téléchargement : $ cvs -z3 -d:pserver:anonymous@mplayerplug-in.cvs.sourceforge.net:/cvsroot/ mplayerplug-in co -P mplayerplug-in La dernière option contient le module à importer. Dans ce cas, nous importons le projet en entier. Vous auriez pu importer seulement un fichier précis. Ensuite, il ne vous reste qu'à compiler ces sources fraiches . Pour mettre vos sources à jour : $ cvs update Ces commandes sont, il faut l'avouer, un peu compliquées. Sachez toutefois que si le projet utilise le cvs comme protocole et permet le téléchargement des sources de développement, la commande exacte pour obtenir ces sources sera normalement disponible dans la section téléchargement du projet. Consultez l'article de wikipédia si vous désirez plus de détails. SUBVERSION Subversion est également un logiciel de gestion et de contrôle des versions. Il a été développé en février 2000 pour combler les lacunes et remplacer le protocole CVS. Contrairement au CVS, il permet de placer des numéros de version précis, de contrôler ceux-ci avec efficacité et permet également de renommer les fichiers présents sur le serveur distant. Exemple : nous importons les sources du logiciel Music on Console (MOC). Une seule commande suffit pour se connecter en anonyme et télécharger les sources : $ svn co svn://daper.net/moc/trunk Vous pouvez constater la simplicité de la syntaxe. En général, il vous suffit de consulter la page de téléchargement pour obtenir l'adresse précise du serveur svn du projet que vous désirez importer. Lorsque le téléchargement est terminé, passez à l'étape de la compilation. Consultez la page de wikipédia pour plus de détails. Désinstaller une application compilée par vos soins C'est pas très dur : supprimez le dossier que vous avez créé pour l'application... Si lors de la compilation, vous avez fait l'étape 'make install', vous pouvez aussi enlever le lien symbolique présent dans /usr/bin (à priori). C'est pas super important, c'est juste pour ceux qui aiment l'ordre . Pour voir ce lien, faites par exemple pour Firefox : $ ls -l /usr/bin | grep firefox Exemple de réponse : lrwxrwxrwx 1 root root 10 May 22 19:34 firefox -> /home/george/firefox/firefoxSi la commande répond le lien vers l'application que vous aviez compilé, supprimez ce lien : $ su -c rm /usr/bin/firefox Vous devrez entrer le mot de passe admin (root). Liens Rechercher les projets sources. Lea-linux (tutoriel sur la compilation) Très bon tuto sur la compilation. linuxnoob.freezee.org (idem) FreshMeat : recence beaucoup de projets GNU à télécharger. SourceForge : idem. Article sur Subversion Auteur: Luteola Contributeur: Shaika-Dzari Date de création : 02/06/2024 @ 19:25 Réactions à cet article
| News RSS du Libre
Infos Site
Se reconnecter --- 346 membres
( personne )
Recherche
Sondage
Compteur
visiteurs visiteurs en ligne Divers
GuppyTop
Soutien
Site de Doudou Site de Garulfo Anupaz |