Compilation d'un archive .tar.gz

ruda76 -  
mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   -
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

  1. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 944
     
    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