Cette question, et la plupart des autres réponses données ici, découlent d'une mauvaise compréhension de la manière dont les projets utilisant l'option Système de construction GNU (alias Autotools) sont distribués. En fait, dans le cas de l Bibliothèque Erlang XMPP mentionné par le PO, le malentendu semble être du côté des développeurs.
Obtenir le logiciel de la bonne manière
Si tout ce que vous voulez faire est de compiler et d'installer un projet publié avec les GNU Autotools, alors vous ne devez pas le vérifier à partir du système de contrôle de la source . Vous devriez plutôt télécharger le version source packagée fournis par le développeur. Ceux-ci prennent normalement la forme de tarballs distribués sur le site web du projet. Pour les projets qui sont entièrement hébergés sur GitHub, Savannah ou un service d'hébergement similaire, ces archives se trouvent généralement derrière un lien intitulé "Download" ou "Releases". Vous détachez le paquet et utilisez une variante de la commande standard ./configure && make && sudo make install
incantation. C'est tout ; vous n'avez pas besoin d'invoquer les outils automatiques de GNU, et il n'est même pas nécessaire que les outils automatiques de GNU soient installés sur votre système.
La raison pour laquelle vous, l'utilisateur, n'avez pas besoin de GNU Autotools pour compiler un projet empaqueté par Autotools est que le développeur a ya a utilisé les différents programmes Autotools pour générer une "distribution tarball" qui peut être utilisée pour construire le logiciel sur n'importe quel système Unix-like. L'archive de distribution contient un logiciel hautement portable configure
script qui scanne l'environnement de construction, vérifie les dépendances, et construit une Makefile
personnalisé à votre système.
Alors, quand avez-vous besoin d'Autotools ?
La seule raison pour laquelle vous devriez avoir besoin d'installer et d'invoquer les GNU Autotools vous-même est si vous voulez faire développement travailler sur un projet construit avec Autotools. Et même dans ce cas, vous n'aurez probablement pas besoin des Autotools, sauf si vous modifiez les dépendances du projet. Dans ce cas, vous devrez effectivement vérifier la source originale, apporter les modifications appropriées aux fichiers d'entrée spécifiques à Autotools ( configure.ac
, Makefile.am
etc.), puis exécutez les Autotools sur ceux-ci pour générer une nouvelle configure
fichier. Si vous voulez publier indépendamment le paquet révisé, vous utiliserez le Makefile généré par Autotools pour générer une nouvelle distribution tarball, puis vous publierez cette tarball quelque part en ligne.
Le problème est que certains développeurs mettent leur dépôt de sources à la disposition du public mais négligent de publier leurs tarballs de distribution (ou font en sorte qu'il soit difficile de trouver où ils sont publiés). Par exemple, au lieu de en publiant leurs fichiers de distribution sous forme de versions GitHub le Communiqués GitHub de la bibliothèque Erlang XMPP sont des tarballs du dépôt de sources brutes. Il est donc impossible de compiler le projet sans GNU Autotools, ce qui va à l'encontre de l'objectif premier de l'utilisation d'Autotools.
Résumé TL;DR
Les outils automatiques GNU sont quelque chose qui développeurs pour créer des paquets de code source portables pour les utilisateurs. Utilisateurs doit télécharger et compiler à partir de ces paquets source, et non à partir du code original du système de contrôle des sources. Si les développeurs ne fournissent pas ces paquets sources, alors ils n'utilisent pas Autotools correctement et doivent être doucement giflé avec une truite mouillée jusqu'à ce qu'ils voient l'erreur de leur comportement.