Introduction
Certains produits, comme FreeType 2.4.6, imposent GNU make lors de la compilation :
% ./configure --help
GNU 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