La compilation de Gwyddion sur les systèmes
Unix est basée sur GNU autotools
(autoconf,
automake,
libtool), comme
pour la plupart des logiciels Unix libres. Si vous avez déjà compilé un
logiciel à partir du code source, vous avez alors sûrement déjà eu affaire
avec autotools et vous connaissez donc la manière de procéder. Cette
section décrit toutefois la procédure de compilation en détail pour les
non initiés.
Le fichier INSTALL
dans le répertoire racine de archives sources contient les instructions
génériques d'installation pour GNU autotools.
Si vous connaissez l'exercice :
tar -jxvf gwyddion-2.49.tar.xz
cd gwyddion-2.49
./configure
make
make install
Dépaqueter les archives du code source avec
tar -jxvf gwyddion-2.49.tar.xz
en remplaçant 2.49 par le numéro de version actuel. Cette commande
créera le dossier gwyddion-2.49
(là encore avec
le numéro de version actuel en lieu et place de 2.49),
cd vers ce dossier.
Toutes les autres étapes de la compilation se dérouleront à cet endroit.
Si votre système d'exploitation ne possède pas bzip2 vous pouvez
télécharger gwyddion-2.49.tar.gz
(compressé avec
gzip) à la place et dépaqueter avec
tar -zxvf gwyddion-2.49.tar.gz
Cependant, les systèmes Unix ou basés sur Unix récents possèdent à la
fois bzip2 et gzip, étant donnée sa taille plus petite,
gwyddion-2.49.tar.xz
devrait être logiquement
préféré.
Lancez
./configure
pour configurer Gwyddion.
Le script configure tente de déterminer les valeurs
correctes de diverses variables du système utilisées lors de la
compilation. Il utilise ces valeurs pour créer un
Makefile
dans chaque répertoire du paquet,
quelques fichiers d'en-tête .h
contenant des
définition propres au système ainsi que quelques fichiers auxiliaires.
Il crée finalement un script config.status que vous
pourrez lancer pour recréer la configuration actuelle, et un fichier
config.log
. Ce fichier contient les détails du
processus de détection, qu'il est utile d'include dans les rapports de
bug liés à la compilation.
configure affiche finalement un résumé des
fonctionnalités optionnelles activées ou désactivées, en précisant les
raisons pour lesquelles certaines fonctionnalités ont été désactivées.
Si configure annonce que certains paquets nécessaires manquent, installez les et re-lancer le. Cela s'applique aussi dans le cas où configure termine correctement mais vous vous rendez compte qu'il manque un paquet optionnel avec lequel vous souhaitez compiler Gwyddion. Il est possible qu'un paquet ne soit mal ou pas détecté du tout bien que vous l'ayez installé, typiquement si celui est installé dans un répertoire non standard. Il est nécessaire dans ce cas de modifier certaines variables d'environnement afin que configure soit capable de trouver ces paquets :
PKG_CONFIG_PATH
La plupart des paquets sont fournis avec des fichiers
pkg-config
(.pc
) qui décrivent la manière dont les
programmes doivent se compiler et se lier entre eux.
configure utilise les informations fournies
dans ces fichiers, il faut donc que
PKG_CONFIG_PATH
soit ajusté de façon à ce qu'il
liste tous les répertoires non standard contenant les fichiers
pkg-config utiles.
Ainsi pour installer Gtk+ dans
/opt/gnome
et FFTW3 dans
$HOME/opt/fftw3
on pourra faire
PKG_CONFIG_PATH=/opt/gnome/lib/pkgconfig:$HOME/opt/fftw3/lib/pkgconfig
export PKG_CONFIG_PATH
PATH
,
LD_LIBRARY_PATH
DYLD_LIBRARY_PATH
Il peut être nécessaire de modifier ces variables pour inclure
des répertoires non standards contenant respectivement des
exécutables et des librairies utiles.
Les variables LD_LIBRARY_PATH
et
DYLD_LIBRARY_PATH
définissent toutes les deux les
chemins de recherche pour les librairies partagées, mais la
première est utilisée pour les systèmes Linux et BSD, tandis que
la seconde est utilisée sous OS X.
CPPFLAGS
,
LDFLAGS
Il peut être nécessaire de modifier ces variables pour inclure
des répertoires non standards contenant des fichiers d'en-tête
et des librairies de paquets n'ayant pas de fichiers pkg-config,
par exemple pour libTIFF dans /usr/local
on
pourra faire :
CPPFLAGS=-I/usr/local/include
export CPPFLAGS
LDFLAGS=-L/usr/local/lib
export LDFLAGS
L'option --prefix
de configure
règle le répertoire de base de
l'installation. Les composants du logiciels seront installés dans les
sous-répertoires
bin
, lib
,
share
, etc. (ils seront créés s'ils n'existent
pas). Un contrôle plus fin est possible en utilisant des options
spécifiant des sous-répertoires particuliers tels que
--bindir
, --libdir
. Le préfixe par
défaut est /usr/local/bin
, pour installer
Gwyddion dans votre répertoire home vous
pouvez par exemple utiliser
./configure --prefix=$HOME/opt/gwyddion
Si vous installez Gwyddion pour une utilisation personnelle, nous vous recommandons d'utiliser un répertoire d'installation similaire, car dans ce cas aucune étape ne nécessitera des droits root.
Des fonctionnalités optionnelles peuvent être activées/désactivées avec
des paramètres tels que
--with-foo
/--without-foo
ou --enable-foo
/--disable-foo
.
La compilation avec zlib peut par exemple être désactivée avec :
./configure --without-zlib
Toutes les fonctionnalitées optionnelles sont activées par défaut si les pre-requis sont présents. Un résumé des fonctionnalités activées et désactivées sont affichées vers la fin de la sortie de configure.
La liste complète des options de configure et des variables importantes peut être obtenues avec :
./configure --help
La liste est longue et la plupart des options et variables contrôlent
l'inclusion ou l'exclusion de fonctionnalités optionnelles ou fournissent
au compileur et à l'éditeur de liens les drapeaux pour les diverses
librairies. Par exemple, en définissant FFTW3_CFLAGS
et
FFTW3_LIBS
vous pouvez spécifier (ou outrepasser) la manière
dont sera faite la compilation et l'édition des liens de FFTW3. Cette
définition manuelle n'est toutefois qu'une solution de secours dans le
cas où la méthode bien plus pratique utilisant pkg-config ne fonctionnerait
pas.
La plupart de ces options contrôlent l'inclusion ou l'exclusion de fonctionnalités optionnelles. Quelques options d'intérêt général sont présentées dans les paragraphes qui suivent.
Gwyddion fournit plusieurs fichiers d'intégration définissant les types MIME, les entrées dans les menus, les associations de fichiers, les générateurs de vignettes, etc. Ceux-ci devraient naturellement se retrouver aux bons emplacements si vous installez Gwyddion dans un répertoire système. Toutefois, si vous l'installez dans un autre répertoire, tel que votre répertoire home, ces fichiers devront être replacés dans des sous-répertoires masqués (dont le nom commence par un point) de votre répertoire home.
Cette option peut être activée en utilisant
--enable-home-installation
dans
configure. Notez que cette option installera des
fichiers en dehors du répertoire préfixe spécifié.
Si Gwyddion est installé dans un répertoire temporaire dans le but d'en faire un paquet, il sera nécessaire de désactiver certaines actions de post-installation ayant normalement lieu sur le système cible, et non lors de la construction du paquet.
La mise à jour des fichiers Freedesktop peut être inactivée avec
--disable-desktop-file-update
. L'installation des
schémas GConf2 peut être inactivée avec
--disable-schemas-install
. En règle générale il n'est
pas nécessaire de le faire de manière explicite car l'installation dans
un répertoire temporaire utilise un DESTDIR
non vide
(voir installation).
Si DESTDIR
est non vide, le processus de construction
omet automatiquement les actions de post-installation.
Le fait de passer --enable-library-bloat
à
configure force la liaison des modules avec toutes
les librairies. Ceci est activé automatiquement sous MS Windows car cela
est nécessaire. Sous les systèmes Unix, la liaison des modules avec les
librairies chargées par ailleurs avec le programme principal ne fait que
ralentir inutilement les choses (à la fois pendant la compilation et
durant l'exécution du programme). Les modules ne sont donc pas
explicitement liés avec les librairies de base come GLib. Si votre
environnement ou votre stratégie exige la liaison des modules avec toutes
les librairies, cette option vous permettra de vous en assurer.
Passer --disable-module-bundling
à
configure empêche le regroupent de tous les modules
de même classe (fichier, traitement…) dans une seule librairie
partagée, ce qui est fait en temps normal pour économiser de l'espace
disque et accélérer le démarrage du programme. Bien que le regroupement
ne change rien d'un point de vue fonctionnel, il change considérablement
l'ensemble des fichiers installés. Si pour une raison ou pour une autre
vous dépendez du fichier gwyfile.so
existant sur
le disque dur, alors arretez tout de suite. Mais vous pouvez utiliser
cette option pour forcer l'installation traditionnelle pour laquelle
chaque module apparaît dans un fichier séparé.
Si vous souhaitez corriger ou modifier d'une quelconque manière le code
source de Gwyddion, passez l'option
--enable-maintainer-mode
à configure
pour activer les mises à jour et reconstruire les règles non utilisées
dans la compilation de base. En fonction de la nature des modifications,
certains des outils supplémentaires décrits dans la section
Subversion, Développement
peuvent être nécessaires.
La documentation de référence des API C n'est pas reconstruite par défaut.
Un HTML pré-compilé est distribué avec les sources, la documentation
change rarement et la générer prend un temps relativement long. Pour
activer la génération de la documentation API, passez l'option
--enable-gtk-doc
à
configure. Dans ce cas vous aurez bien évidemment
besoin de gtk-doc.
Lancez
make
et attendez jusqu'à ce que Gwyddion soit compilé. Si configure s'est terminé sans erreur alors la compilation devrait se dérouler sans problème. Pour réduire l'attente, vous pouvez activer la compilation parallèle en lançant make sous la forme
make -j6
en remplaçant le 6 par le nombre de processeurs souhaité.
S'il pour vous il s'avère nécessaire de faire des choses inhabituelles pour compiler le paquet, essayez de déterminer comment configure permettrait de régler le problème, et envoyer par e-mail des correctifs ou des instructions à l'adresse de rapport de bug, de manière à ce qu'ils soient pris en compte pour la version suivante.
Gwyddion doit être installé pour pouvoir être lancé, il est impossible de le faire tourner s'il n'est pas installé.
Lancez
make install
pour installer Gwyddion dans le dossier ciblé. Si vous installez Gwyddion dans un dossier système, vous devez avoir les privilèges root pour lancer cette commande, en utilisant par exemple sudo :
sudo make install
Pour installer Gwyddion dans un répertoire
temporaire, pour créer un paquet par exemple, modifiez la variable
make DESTDIR
avec un préfixe
qui sera utilisé pour tous les répertoires cibles :
make install DESTDIR=/var/tmp/gwyddion-buildroot
Ne modifiez pas les variables
des dossiers individuels telles que
bindir
, libdir
.
Si vous n'installez pas dans un dossier système, par exemple avec l'installation dans un sous-dossier ou votre dossier home, il vous faudra peut être ajuster les variables suivantes durant l'installation :
GCONF_SCHEMA_CONFIG_SOURCE
– emplacement des
schémas GConf2
KDE4_MODULE_DIR
– emplacement des modules KDE4
Il se peut que la variable XDG_DATA_DIRS
doive être
modifiée après l'installation pour obtenir une intégration complète dans
le bureau.
Si vous installez Gwyddion dans /usr/local
et obtenez
le message comme quoi libgwyapp.so.0
ne peut être
trouvé, il y a de fortes chances que votre système ne possède pas certains
répertoires de librairies standards dans la configuration de l'éditeur de
liens dynamiques. Cela arrive par exmple sous Ubuntu. Editez le fichier
/etc/ld.so.conf
et ajoutez-y la ligne suivante :
/usr/local/lib
.
Le lancement de Gwyddion ne nécessite normalement pas de réglage supplémentaire.
Toutefois, les fonctionnalités de certains environnements de bureau
peuvent rendre inutilisable Gwyddion et
celles-ci doivent être désactivées. Le détournement du menu principal des
programmes dans Unity rend inaccessible la
plupart des menus de Gwyddion. Cela peut être
désactivé en modifiant UBUNTU_MENUPROXY
pour le lancement
de Gwyddion :
UBUNTU_MENUPROXY= gwyddion
Lancez
make uninstall
dans le dossier où Gwyddion a été compilé
afin de le supprimer. Dans le cas où vous auriez perdu le répertoire
original, vous pouvez essayer d'extraire les fichiers de compilation,
configurer et compiler de la même manière que lors de l'installation
puis lancer make uninstall
, mais le succès de
cette opération dépend de votre capacité à reproduire le processus de
compilation.
Il est possible de compiler des paquets RPM sur les distributions GNU/Linux basées sur RPM directement à partir des archives du code source grâce à la commande
rpmbuild -tb gwyddion-2.49.tar.xz
, où 2.49 doit être remplacé par le numéro de version actuel. Cette méthode a été testée sur Fedora, openSuSE et Mandriva, et le fichier de spécifications RPM contient certaines informations pour ces systèmes. Un support spécifique à d'autres systèmes basés sur RPM peut être ajouté sur demande.