Compilation d'un archive .tar.gz

Fermé
ruda76 - 25 nov. 2014 à 15:58
mamiemando Messages postés 33372 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 22 novembre 2024 - 25 nov. 2014 à 17:18
Bonjour,
Je voudrais installer un fichier .tar.gz qui, après décompression a deux fichiers Makefile qui fait que quand je tappe la commande make tout seule ***Pas de cibles spécifiées et aucun makefile n'a été trouvé. Arrêt. Quand je tappe make Makefile, j'ai comme réponse : Pas de règle pour fabriquer la cible "Makefile". Arrêt.
Que dois je faire pour progresser?


1 réponse

mamiemando Messages postés 33372 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 22 novembre 2024 7 802
Modifié par mamiemando le 25/11/2014 à 17:19
Attention soyons précis, le titre en l'état n'a pas de sens : on ne compile pas une archive tar.gz, on la décompresse, puis on compile les éventuelles sources qu'elle contient (sachant qu'une archive tar.gz peut contenir n'importe quel genre de fichier). Il faudrait plutôt dire : comment compiler les sources contenues dans une archive tar.gz.

Avant de te lancer une compilation je t'invite vivement à regarder si le logiciel ou la librairie que tu veux installer ne sont pas déjà disponible sous forme d'un paquet. C'est toujours beaucoup plus simple d'installer via le gestionnaire de paquets (pour installer/mettre à jour/désinstaller). Précise-nous quelle distribution linux tu utilises et ce que tu souhaites installer.

Sinon revenons au problème initial :

***Pas de cibles spécifiées et aucun makefile n'a été trouvé. Arrêt. 


Ceci signifie que la commande
make
est lancée depuis un répertoire qui ne contient pas de fichier Makefile. Tu as probablement oublier d'aller dans le répertoire dans lequel il se situe.

Si tu veux compiler à partir des sources de ton archive, les étapes sont :

1) Décompresser le fichier tar.gz. Supposons qu'elle soit dans /
home/toto
et qu'elle s'appelle
archive.tgz
:

cd /home/toto
tar xzvf archive.tgz


2) Ceci va créer dans le répertoire courant un répertoire avec le contenu de l'archive. Supposons que ce répertoire s'appelle /home/toto/archive :

cd /home/toto/archive


3) Une fois dans ce répertoire, il faut localiser le(s) makefile(s) digne d'intérêt.

find * | grep -i /makefile$


Généralement à ce stade, il n'y en a pas il faut le générer avec un script appelé
configure
. S'il y a déjà un Makefile, passe directement à l'étape 4.

find * | grep /configure$


Supposons que le fichier configure soit dans
/home/toto/archive/src
:

cd /home/toto/archive/src
./configure


Tu devrais alors avoir un makefile. Si des erreurs sont apparues (headers manquant etc), il faut installer les paquets correspondants sinon la compilation (étape 4) va échouer

4) Supposons que le makefile soit dans
/home/toto/archive/src
:

cd /home/toto/archive/src
make


5) Si tu souhaites déployer la librairie ou l'exécutable dans ton système (en général dans
/usr/local
), tape en root ou précédé de
sudo
:

make install


Bonne chance
0