GNU/Linux >> Tutoriels Linux >  >> Linux

Principes de base de la compilation de logiciels à partir du code source sous Linux

De temps en temps, vous pouvez avoir envie ou besoin de compiler un logiciel/programme à partir du code source. Cela implique de compiler du code C ou C++ en quelque chose que nous pouvons exécuter sous Linux. Selon le logiciel que vous souhaitez compiler, il est souvent inutile de le faire. En effet, votre distribution aura probablement déjà la forme binaire du programme dans les référentiels de logiciels.

En fait, vous devriez choisir les packages binaires plutôt que de compiler à partir de la source. L'une des raisons est que cela pourrait potentiellement introduire des problèmes pour votre système. Cependant, si jamais le moment venait où vous deviez compiler à partir des sources, ce guide vous donnera quelques indications de base.

Un exemple typique

Prenons un programme écrit en C ou en C++. Le téléchargement du code source implique souvent soit de télécharger et de décompresser un package (souvent une archive tar), soit de cloner un référentiel git. Le mode de fonctionnement typique est l'exécution de ces trois commandes :$

./configure
$ make
$ sudo make install 

La première commande exécute le script de configuration qui analyse les bibliothèques installées sur votre système. Si une bibliothèque requise n'est pas installée, elle le signalera et vous devrez l'installer. Non seulement vous aurez besoin de la bibliothèque installée, mais les fichiers de développement doivent également être présents. Les fichiers de code source utilisent les fonctionnalités trouvées dans ces bibliothèques.

Une fois la commande configure exécutée, vous devriez avoir un Makefile présent. En exécutant "make", il lira le Makefile dans le répertoire courant et lancera l'exécution du compilateur (gcc pour C ou g++ pour C++) pour compiler le logiciel.

La troisième commande n'est pas strictement essentielle mais est recommandée pour un accès à l'échelle du système, c'est-à-dire l'exécution de l'exécutable depuis n'importe où dans le terminal. Cette commande indique à "make" d'exécuter les instructions d'installation du programme sur le système.

Les fichiers INSTALL ou README

Il peut y avoir des instructions supplémentaires qui doivent être complétées avant que la compilation puisse commencer. La lecture de ce fichier (généralement INSTALL) devrait également révéler quelles bibliothèques de développement doivent être installées en premier. Ces packages contiendront le suffixe "-dev" pour indiquer qu'il s'agit des en-têtes de développement et qu'ils doivent être installés. Le script de configuration peut également nécessiter des paramètres supplémentaires. README contiendra toute autre information.

Vous pouvez même constater qu'aucune des trois commandes n'est exécutée pendant tout le processus. Même des variantes de make telles que qmake (pour les projets Qt) ou cmake pourraient être utilisées à la place.

Installer un programme GitHub

Commençons par installer un éditeur de texte appelé wxMEdit, trouvé sur GitHub. Ici, je montre comment installer un programme en compilant à partir des sources. Ceci est un exemple presque typique de la portée de ce guide. Si vous visitez le référentiel GitHub, vous verrez que le fichier readme contient des détails sur l'application. Il n'y a pas d'instructions de compilation, donc la séquence standard s'applique, avec une différence : autogen.sh.

​Tout d'abord, nous passons à l'endroit où nous souhaitons stocker le référentiel dans le terminal et le cloner :

$ cd wherever
$ git clone git://github.com/wxMEdit/wxMEdit.git   

Autogen.sh

Si vous trouvez ce fichier dans le code source, vous devez l'exécuter avant "./configure" car cela effectuera des tâches qui vous permettront de compiler le logiciel avec succès. Si cela réussit, vous pouvez exécuter "./configure", "make", puis "sudo make install", et tout ce dont vous avez besoin pour exécuter (dans ce cas, rien d'autre).

$ ./autogen.sh 
$ ./configure 
$ make 

Vous ne devriez voir aucune erreur dans la sortie make.

$ sudo make install 

Dépannage

Si vous le faites régulièrement, vous rencontrerez forcément certains problèmes lors de la compilation à partir des sources.

Bibliothèques manquantes

N'oubliez pas qu'il ne suffit pas que les bibliothèques binaires soient installées ; les fichiers source ou les en-têtes de développement doivent également être installés. Le script de configuration, ainsi que la documentation, vous alertent généralement de toutes les bibliothèques (en-têtes de développement) que vous devez installer pour une compilation réussie. Assurez-vous qu'ils sont installés sur votre système.

Ils sont installés et d'autres erreurs se produisent

Conclusion

Logiciel de compilation peut être soit assez simple, soit assez douloureux. Heureusement, de nombreuses distributions Linux fournissent des packages binaires prêts à être installés, de sorte que la compilation à partir des sources n'est généralement pas nécessaire. Il est préférable de s'en tenir aux packages binaires fournis par les référentiels logiciels fournis par votre distribution s'ils sont disponibles.


Linux
  1. Comment installer phpMyAdmin sous Linux en utilisant le code source

  2. Code source de Netstat ?

  3. 10 meilleurs logiciels de comptabilité open source pour Linux

  4. Obtenez le code source pour n'importe quelle commande Linux

  5. Principes de base de la ligne de commande Linux - Exécution de commandes à partir de la ligne de commande

Comment installer un programme à partir de la source sous Linux

Comment obtenir des nouvelles instantanément à partir de la ligne de commande sous Linux

Top 5 des référentiels de code source

Comment installer un logiciel à partir de la source sous Linux

Comment compiler le noyau Linux à partir de la source pour créer un noyau personnalisé

Comment installer un logiciel à partir du code source dans votre système Linux