Les commandes make
et make install
utilisées pour installer un programme à partir d'une balle tar extraite ne fonctionnent jamais pour une raison quelconque.
La commande make
me donne l'erreur suivante:
make: *** No targets specified and no makefile found. Stop.
et la commande make install
me donne l'erreur suivante:
make: *** No rule to make target `install'. Stop.
Pourquoi ces commandes ne s'exécutent-elles pas? Que dois-je faire pour résoudre ce problème?
Je pense que le problème est que vous n'avez pas les dépendances pour le programme en question, car même si vous avez exécuté ./configure
, il ne contient que les fichiers appelés makefile.in
et makefile.am
, alors qu'il devrait y avoir un fichier appelé Makefile
sans extension.
Si vous exécutez ./configure
sans les dépendances, il ne génère pas de fichier makefile. L'exécution ultérieure de make donne exactement l'erreur que vous obtenez:
make: *** No targets specified and no makefile found. Stop.
Par conséquent, téléchargez la version dépendances de votre programme en consultant le fichier Lisez-moi inclus dans le téléchargement ou, si la source du programme se trouve dans les référentiels et que vous avez activé les référentiels source, exécutez
Sudo apt-get build-dep program
Après avoir obtenu les dépendances, exécutez à nouveau ./configure
et maintenant, make et make install devraient fonctionner car il y aura un Makefile
correct généré.
(Vous devrez peut-être également installer des packages tels que build-essential
, qui contient des outils de compilation essentiels)
Parfois, il faut exécuter autoreconf pour générer le script configure, alors utilisez:
autoreconf -ivf
Peut-être que lorsque vous compilerez, vous le ferez en tant qu'utilisateur, puis vous effectuerez l'installation en tant que root, mais vous serez dans un autre répertoire.
Solution dans ce cas: en tant que racine, changez de répertoire dans votre répertoire de construction, puis: make install
Travaillé pour moi dans Debian Stretch.