Ceci est une ancienne révision du document !
Table des matières
MAKE
Description
make permet d'installer un logiciel à partir des sources
Généralement l'éditeur fournie un script du genre configure qui permet de vérifier si les fichiers dépendant au logiciels que l'on va installé sont bien présent sur la machine. Ce script génère un fichier Makefile, qui sera lu par la commande make qui lui indiquera ce qu'il faut compiler.
Procédure
Le procédure est généralement la suivante pour installer un logiciel à partir des sources :
Lancement du script "configure"
Aller dans le répertoire ou se trouve les sources et lancer le script configure
cd pathtosourcesfiles ./configure
Le script indiquera s'il manque des librairies ou autres fichiers, souvent ce sont des packages manquant qu'il faut installer.
Une fois terminier un fichier Makefile est créé.
Lancement de make
Lancer make qui se basera sur le fichier Makefile du repertoire courant pour le traitement de la compilation de sources
make
Il peut se produire divers erreurs pendant cette opération, les messages d'erreurs sont assez clair du genre:
gcc -DHAVE_CONFIG_H -I. -I. -I. -I/usr/include/db4 -I/usr/include -pthread -g -O2 -Wreturn-type -Wmissing-prototypes -Wuninitialized -pthread -g -O2 -I/usr/include/db4 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -pthread -g -O2 -I/usr/include/db4 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -c wildcard.c -o wildcard.o yacc -d cfparse.y make[2]: yacc: Command not found make[2]: *** [cfparse.c] Error 127 make[2]: Leaving directory `/root/cfengine/cfengine-2.2.3/src' make[1]: *** [all] Error 2 make[1]: Leaving directory `/root/cfengine/cfengine-2.2.3/src' make: *** [all-recursive] Error 1
Dans le cas présent il manque la commande yacc, il faut donc installer le package qui installe cette commande et tout recommancer de la facon suivante:
./configure make clean make
etc… jusqu'à ne plus avoir d'erreurs. make clean permet de néttoyer le répertoire courant, en supprimant tous les fichiers déjà compiler.
Lancement de make install
Lancer l'installation
make install
Ceci copie tous les fichiers compilés dans les bon répertoires du système
