Introduction
Certains produits, comme FreeType 2.4.6, imposent GNU make lors de la compilation :
% ./configure --helpGNU make (>= 3.80) or makepp (>= 1.19) is required to build FreeType2. Please try `GNUMAKE=<GNU make command name> ./configure'. or >&2 `GNUMAKE="makepp --norc-substitution" ./configure'.
La compilation de GNU make 3.82 en 64 bits sur Sun Solaris 10 x86 avec Sun
Studio 12.1 est relativement simple. L’installation est réalisée dans un
répertoire personnalisé afin de ne pas polluer les répertoires systèmes /usr.
Pour plus d’informations sur l’installation des compilateurs SunStudio 12.1 :
Installation de Sun Studio 12 sur Sun Solaris 10 X86 pour les compilations .
Téléchargement et préparation de l’environnement pour la compilation de GNU Make 3.82
Le code source de GNU Make 3.82 est disponible en téléchargement pour
Solaris 10 sous la forme d’une archive compressée (make-3.82.tar.gz) à cette
adresse : SunFreeWare - Solaris 10 - make-3.82.
L’archive make-3.82.tar.gz est transférée avec ftp sur la machine cible dans
le répertoire /Software/tools/temp puis décompressée et désarchivée avec les
utilitaires gunzip et tar
% cd /Software/tools/temp
% gunzip -c make-3.82.tar.gz | tar xvf -
Le code source est alors désarchivé avec la commande tar dans le sous
répertoire ./make-3.82.
La variable $PATH est mise à jour avant la compilation pour référencer
/usr/ccs/bin, répertoire qui contient les binaires ld et ar, indispensables
pour la génération des librairies statiques et dynamiques.
% PATH=/usr/ccs/bin:$PATH
% export PATH
Si les liens de SunStudio n’ont pas été installés dans usr/bin lors de
l’installation, la variable $PATH doit référencer également le répertoire
<répertoire de sunstudio 12.1>/bin pour trouver les compilateurs.
% PATH=/opt/sunstudio12.1/bin:$PATH
% export PATH
Il s’agit d’une compilation en 64 bits, la variable $CFLAGS est donc mise à
jour à -m64 :
% CFLAGS=-m64
% export CFLAGS
Configuration, compilation et installation de GNU Make 3.82
Une fois l’environnement préparé (variables $PATH, $CFLAGS), la
configuration de la compilation peut être déclenchée. L’option --help renvoie
les options de configuration (la sortie de l’option --help est allégée pour la
lisibilité).
% cd /Software/tools/temp/make-3.82 % ./configure --help`configure' configures GNU make 3.82 to adapt to many kinds of systems. ... Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX [/usr/local] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [PREFIX] By default, `make install' will install all the files in `/usr/local/bin', `/usr/local/lib' etc. You can specify an installation prefix other than `/usr/local' using `--prefix', for instance `--prefix=$HOME'. ...
L’option --prefix est spécifiée dans cet article afin de délocaliser
l’installation des binaires et librairies de GNU make dans le répertoire
/Software/tools/gnutools (DIR). L’installation n’est pas réalisée dans son
répertoire par défaut /usr/local.
La ligne de configuration de la compilation est la suivante dans cet exemple pratique :
% cd /Software/tools/temp/make-3.82
% ./configure --prefix=/Software/tools/gnutools
La compilation et l’installation de GNU make 3.82 sont réalisées avec les
commandes make et make install.
% cd /Software/tools/temp/make-3.82
% make
% make install
Utilisation de GNU Make 3.82
La compilation génère uniquement un exécutable make dans le répertoire
d’installation DIR/bin.
Pour forcer une compilation avec GNU make 3.82, la variable $PATH référence
en premier le répertoire DIR/bin, répertoire d’installation de l’exécutable GNU
make.
% PATH=/Software/tools/gnutools/bin:$PATH
% export PATH