Télécharger et décompresser • Configurer • Compiler • Installer • Instructions de compilation spécifiques à Linux • Instructions de compilation spécifiques à macOS • Instructions de compilation spécifiques à MinGW • Faire face aux problèmes imprévus
Il se peut que vous ne souhaitiez pas vous préoccuper de l'installation avancée sous Linux ou les systèmes Linux. Dans ce cas, vous avez aussi la possibilité d'installer une version binaire précompilée, ou si vous voulez tout de même installer depuis les sources sans toutes ces complications, consultez les instructions simples Installer depuis les sources. Cependant, si vous voulez personnaliser la configuration et l'installation d'ImageMagick sous Linux ou les systèmes Linux, commençons.
Télécharger et décompresser
ImageMagick se compile sur une variété de systèmes d'exploitation Linux et de type Linux, dont Linux, Solaris, FreeBSD, macOS et d'autres. Un compilateur est nécessaire et, heureusement, presque tous les systèmes Linux modernes en possèdent un. Téléchargez ImageMagick-7.1.2-25.7z depuis GitHub.
Décompressez la distribution avec cette commande :
tar xvzf ImageMagick.tar.gz
Maintenant que vous avez décompressé la distribution source ImageMagick pour Linux/Linux, configurons-la.
Configurer
Le script configure examine votre environnement et décide ce qu'il peut assembler pour compiler et installer ImageMagick sur votre système. Cela inclut la détection d'un compilateur, l'emplacement des fichiers d'en-tête du compilateur (par exemple stdlib.h) et la disponibilité éventuelle de bibliothèques déléguées qu'ImageMagick peut utiliser (par exemple JPEG, PNG, TIFF, etc.). Si vous acceptez les options par défaut de configure et que vous compilez depuis le répertoire des sources, vous pouvez simplement saisir :
cd ImageMagick-7.1.2-25
./configure
Observez la sortie du script configure pour vérifier qu'il trouve tout ce qu'il devrait selon vous. Prêtez une attention particulière aux dernières lignes de la sortie du script. Par exemple, voici un rapport récent de notre système :
ImageMagick is configured as follows. Please verify that this configuration
matches your expectations.
Host system type: x86_64-unknown-linux-gnu
Build system type: x86_64-unknown-linux-gnu
Option Value
-------------------------------------------------------------------------------
Shared libraries --enable-shared=yes yes
Static libraries --enable-static=yes yes
Module support --with-modules=yes yes
GNU ld --with-gnu-ld=yes yes
Quantum depth --with-quantum-depth=16 16
High Dynamic Range Imagery
--enable-hdri=no no
Delegate Configuration:
BZLIB --with-bzlib=yes yes
Autotrace --with-autotrace=yes yes
DJVU --with-djvu=yes no
DPS --with-dps=yes no
FlashPIX --with-fpx=yes no
FontConfig --with-fontconfig=yes yes
FreeType --with-freetype=yes yes
GhostPCL None pcl6 (unknown)
GhostXPS None gxps (unknown)
Ghostscript None gs (8.63)
result_ghostscript_font_dir='none'
Ghostscript fonts --with-gs-font-dir=default
Ghostscript lib --with-gslib=yes no (failed tests)
Graphviz --with-gvc=yes yes
JBIG --with-jbig= no
JPEG v1 --with-jpeg=yes yes
JPEG-2000 --with-jp2=yes yes
LCMS --with-lcms=yes yes
LQR --with-lqr=yes no
Magick++ --with-magick-plus-plus=yes yes
OpenEXR --with-openexr=yes yes
PERL --with-perl=yes /usr/bin/perl
PNG --with-png=yes yes
RSVG --with-rsvg=yes yes
TIFF --with-tiff=yes yes
result_windows_font_dir='none'
Windows fonts --with-windows-font-dir=
WMF --with-wmf=yes yes
X11 --with-x= yes
XML --with-xml=yes yes
ZLIB --with-zlib=yes yes
X11 Configuration:
X_CFLAGS =
X_PRE_LIBS = -lSM -lICE
X_LIBS =
X_EXTRA_LIBS =
Options used to compile and link:
PREFIX = /usr/local
EXEC-PREFIX = /usr/local
VERSION = 6.4.8
CC = gcc -std=gnu99
CFLAGS = -fopenmp -g -O2 -Wall -W -pthread
MAGICK_CFLAGS = -fopenmp -g -O2 -Wall -W -pthread
CPPFLAGS = -I/usr/local/include/ImageMagick
PCFLAGS = -fopenmp
DEFS = -DHAVE_CONFIG_H
LDFLAGS = -lfreetype
MAGICK_LDFLAGS = -L/usr/local/lib -lfreetype
LIBS = -lMagickCore-Q16 -llcms -ltiff -lfreetype -ljpeg -lfontconfig -lXext
-lSM -lICE -lX11 -lXt -lbz2 -lz -lm -lgomp -lpthread -lltdl
CXX = g++
CXXFLAGS = -g -O2 -Wall -W -pthread
Vous pouvez influencer le choix du compilateur, des indicateurs de compilation ou des bibliothèques du script configure en définissant des valeurs initiales pour des variables sur la ligne de commande de configure. On trouve, entre autres :
- CC
- Nom du compilateur C (par exemple cc -Xa) à utiliser.
- CXX
- Nom du compilateur C++ à utiliser (par exemple CC).
- CFLAGS
- Indicateurs du compilateur (par exemple -g -O2) pour compiler du code C.
- CXXFLAGS
- Indicateurs du compilateur (par exemple -g -O2) pour compiler du code C++.
- CPPFLAGS
- Chemins d'inclusion (par exemple -I/usr/local) où chercher les fichiers d'en-tête.
- LDFLAGS
- Chemins de bibliothèques (par exemple -L/usr/local) où chercher les bibliothèques. Les systèmes qui prennent en charge la notion de chemin d'exécution de bibliothèque (run-path) peuvent exiger un argument supplémentaire pour trouver les bibliothèques partagées à l'exécution. Par exemple, l'éditeur de liens de Solaris exige un argument de la forme -R/path. Certains systèmes Linux fonctionnent avec -rpath /usr/local/lib, tandis que d'autres systèmes Linux dont le gcc ne transmet pas -rpath à l'éditeur de liens exigent un argument de la forme -Wl,-rpath,/usr/local/lib.
- LIBS
- Bibliothèques supplémentaires (par exemple -l/usr/local/lib) nécessaires à l'édition de liens.
Voici un exemple de définition des variables de configure depuis la ligne de commande :
configure CC=c99 CFLAGS=-O2 LDFLAGS='-L/usr/local/lib -R/usr/local/lib' LIBS=-lposix
Toute variable (par exemple CPPFLAGS ou LDFLAGS) qui nécessite un chemin de répertoire doit spécifier un chemin absolu plutôt qu'un chemin relatif.
Configure peut généralement trouver les fichiers d'inclusion et de bibliothèque X automagiquement, mais s'il n'y parvient pas, vous pouvez utiliser les options --x-includes=path et --x-libraries=path pour spécifier leurs emplacements.
Le script configure offre un certain nombre d'options spécifiques à ImageMagick. Lors de la désactivation d'une option, --disable-something équivaut à spécifier --enable-something=no et --without-something équivaut à --with-something=no. Les options de configure sont les suivantes (exécutez configure --help pour voir toutes les options).
Les options d'ImageMagick représentent soit des fonctionnalités à activer ou désactiver, soit des paquets à inclure dans la compilation. Lorsqu'une fonctionnalité est activée (via --enable-something), elle active du code déjà présent dans ImageMagick. Lorsqu'un paquet est activé (via --with-something), le script configure le recherche, et s'il est correctement installé et prêt à l'emploi (les en-têtes et les bibliothèques compilées sont trouvés par le compilateur), il est inclus dans la compilation. Le script configure est livré avec toutes les fonctionnalités désactivées et tous les paquets activés. En général, la seule raison de désactiver un paquet est qu'il existe mais qu'il ne convient pas à la compilation (peut-être une ancienne version ou non compilé avec les bons indicateurs de compilation).
Voici les fonctionnalités optionnelles que vous pouvez configurer :
--enable-shared
compiler les bibliothèques partagées et la prise en charge du chargement des modules de codeurs et de processus. Les bibliothèques partagées sont préférables car elles permettent aux programmes de partager du code commun, ce qui rend les programmes individuels beaucoup plus petits. De plus, les bibliothèques partagées sont nécessaires pour que PerlMagick soit chargé dynamiquement par un PERL installé (sinon un PERL supplémentaire (PerlMagick) doit être installé).
ImageMagick compilé avec des délégués (voir MAGICK PLUG-INS ci-dessous) peut poser des défis supplémentaires. Si ImageMagick est compilé avec des bibliothèques statiques (la valeur par défaut sans --enable-shared), alors les bibliothèques déléguées peuvent être compilées soit comme bibliothèques statiques, soit comme bibliothèques partagées. Cependant, si ImageMagick est compilé avec des bibliothèques partagées, alors toutes les bibliothèques déléguées doivent aussi être compilées comme bibliothèques partagées. Les bibliothèques statiques ont généralement l'extension .a, tandis que les bibliothèques partagées ont typiquement des extensions comme .so, .sa ou .dll. Le code des bibliothèques partagées doit normalement être compilé avec une option de compilateur spéciale pour produire du code indépendant de la position (PIC). La seule fois où cela n'est pas nécessaire, c'est si la plateforme compile le code en PIC par défaut.
Les indicateurs de compilation PIC diffèrent d'un fournisseur à l'autre (celui de gcc est -fPIC). Cependant, vous devez compiler toutes les sources de bibliothèques partagées avec le même indicateur (pour gcc, utilisez -fPIC plutôt que -fpic). Tandis que les bibliothèques statiques sont normalement créées à l'aide d'un outil d'archivage comme ar, les bibliothèques partagées sont compilées à l'aide d'options spéciales de l'éditeur de liens ou du compilateur (par exemple -shared pour gcc).
Si --enable-shared n'est pas spécifié, un nouvel interpréteur PERL (PerlMagick) est compilé, lié statiquement à l'extension PerlMagick. Ce nouvel interpréteur est installé dans le même répertoire que les utilitaires ImageMagick. Si --enable-shared est spécifié, l'extension PerlMagick est compilée comme un objet chargeable dynamiquement qui est chargé dans votre interpréteur PERL courant à l'exécution. L'usage d'extensions chargées dynamiquement est préférable aux extensions liées statiquement, alors utilisez --enable-shared si possible (notez que toutes les bibliothèques utilisées avec ImageMagick doivent être des bibliothèques partagées !).
--disable-static
les bibliothèques d'archive statiques (avec l'extension .a) ne sont pas compilées. Si vous compilez des bibliothèques partagées, il y a peu d'intérêt à compiler des bibliothèques statiques. Les raisons de compiler des bibliothèques statiques incluent : 1) elles peuvent être plus faciles à déboguer ; 2) les clients n'ont pas de dépendances externes (c'est-à-dire libMagick.so) ; 3) compiler des versions PIC des bibliothèques déléguées peut demander une expertise et un effort supplémentaires ; 4) vous ne pouvez pas compiler de bibliothèques partagées.
--disable-installed
désactiver la compilation d'un ImageMagick installé (activé par défaut).
Par défaut, la compilation d'ImageMagick est configurée pour s'installer formellement dans une arborescence de répertoires. C'est la façon la plus sûre et la plus fiable d'installer ImageMagick. Utilisez cette option pour configurer ImageMagick afin qu'il n'utilise pas de chemins codés en dur et qu'il localise les fichiers de support en calculant un chemin de décalage à partir de l'exécutable (ou à partir de l'emplacement spécifié par la variable d'environnement MAGICK_HOME). La configuration non installée est idéale pour les distributions binaires censées être extraites et exécutées à n'importe quel emplacement.
--enable-ccmalloc
activer la prise en charge du débogage mémoire « ccmalloc » (désactivé par défaut).
--enable-prof
activer la prise en charge du profilage « prof » (désactivé par défaut).
--enable-gprof
activer la prise en charge du profilage « gprof » (désactivé par défaut).
--enable-gcov
activer la prise en charge du profilage « gcov » (désactivé par défaut).
--disable-openmp
désactiver OpenMP (activé par défaut).
Certains algorithmes d'ImageMagick, par exemple la convolution, peuvent atteindre une accélération significative grâce à l'API OpenMP lorsqu'ils s'exécutent sur des processeurs dual et quad-core modernes.
--disable-largefile
désactiver la prise en charge des grands décalages de fichiers (64 bits).
Par défaut, ImageMagick est compilé avec la prise en charge des grands fichiers (> 2 Go sur un CPU 32 bits) si le système d'exploitation prend en charge les grands fichiers. Certaines applications qui utilisent la bibliothèque ImageMagick peuvent aussi exiger la prise en charge des grands fichiers. En désactivant la prise en charge des grands fichiers via --disable-largefile, les applications dépendantes n'ont pas besoin d'options de compilation spéciales pour les grands fichiers afin d'utiliser la bibliothèque.
Voici les paquets optionnels que vous pouvez configurer :
--with-quantum-depth
nombre de bits dans un quantum de pixel (par défaut 16).
Utilisez cette option pour spécifier le nombre de bits à utiliser par quantum de pixel (la taille des composantes de pixel rouge, vert, bleu et alpha). Par exemple, --with-quantum-depth=8 compile ImageMagick avec des quantums de 8 bits. La plupart des adaptateurs d'affichage d'ordinateur utilisent des quantums de 8 bits. Les arguments actuellement pris en charge sont 8, 16 ou 32. Nous recommandons la valeur par défaut de 16 car certains formats d'image prennent en charge 16 bits par pixel. Cependant, cette option est importante pour déterminer la performance globale à l'exécution d'ImageMagick.
Le nombre de bits dans un quantum détermine combien de valeurs il peut contenir. Chaque niveau de quantum prend en charge 256 fois plus de valeurs que le niveau précédent. Le tableau suivant montre la plage disponible pour différentes tailles de quantum.
Quantum Depth Valid Range (Decimal) Valid Range (Hex)
8 0-255 00-FF
16 0-65535 0000-FFFF
32 0-4294967295 00000000-FFFFFFFF
Des quantums de pixel plus grands peuvent rendre ImageMagick plus lent et exiger plus de mémoire. Par exemple, l'usage de quantums de pixel de seize bits peut rendre ImageMagick 15 % à 50 % plus lent (et consommer deux fois plus de mémoire) que lorsqu'il est compilé pour prendre en charge des quantums de pixel de huit bits.
La quantité de mémoire virtuelle consommée par une image peut être calculée par l'équation (5 * Quantum Depth * Rows * Columns) / 8. C'est une considération importante lorsque les ressources sont limitées, en particulier puisque le traitement d'une image peut nécessiter d'avoir plusieurs images en mémoire en même temps. Le tableau suivant montre les valeurs de consommation mémoire pour une image 1024x768 :
Quantum Depth Virtual Memory
8 3MB
16 8MB
32 15MB
--enable-hdri
représenter avec précision la large plage de niveaux d'intensité.
--enable-osx-universal-binary
compiler un binaire universel sous OS X.
--without-modules
désactiver la prise en charge des modules chargeables dynamiquement.
Les codeurs d'image et les modules de processus sont compilés comme modules chargeables qui sont installés dans le répertoire [prefix]/lib/ImageMagick-X.X.X/modules-QN (où « N » vaut 8, 16 ou 32 selon la profondeur de quantum) dans les sous-répertoires coders et filters respectivement. L'option de compilation des modules n'est disponible qu'en conjonction avec --enable-shared. Si --enable-shared n'est pas également spécifié, la prise en charge de la compilation des modules est désactivée. Notez que si --enable-shared et --disable-modules sont spécifiés, le chargeur de modules est actif (permettant d'étendre un ImageMagick installé en copiant simplement un module à sa place) mais ImageMagick lui-même n'est pas compilé en utilisant des modules.
--with-cache
définir le seuil du cache de pixels (par défaut la mémoire disponible).
Spécifiez un seuil de cache de pixels d'image différent avec cette option. Cela définit la quantité maximale de mémoire de tas qu'ImageMagick est autorisé à consommer avant de basculer vers l'usage de fichiers temporaires mappés en mémoire pour stocker les données de pixels brutes.
--without-threads
désactiver la prise en charge des threads.
Par défaut, la bibliothèque ImageMagick est compilée avec la prise en charge multi-thread. Si cela n'est pas souhaitable, spécifiez --without-threads.
--with-frozenpaths
activer les chemins de délégués figés.
Normalement, les noms de programmes externes sont substitués dans le fichier de configuration delegates.xml sans chemins complets. Spécifiez cette option pour activer l'enregistrement des chemins complets vers les programmes en utilisant les emplacements déterminés par configure. C'est utile pour les environnements où les programmes sont stockés sous plusieurs chemins et où les utilisateurs peuvent utiliser des réglages de PATH différents de ceux de la personne qui compile ImageMagick.
--without-magick-plus-plus
désactiver la compilation/installation de Magick++.
Désactiver la compilation de Magick++, l'interface de programmation d'application C++ pour ImageMagick. Un compilateur C++ approprié est nécessaire pour compiler Magick++. Spécifiez la variable de configure CXX pour sélectionner le compilateur C++ à utiliser (par défaut g++) et CXXFLAGS pour sélectionner les indicateurs d'optimisation et de débogage souhaités (par défaut -g -O2). Les compilateurs C++ antiques seront normalement rejetés par les tests de configure, donc spécifier cette option ne devrait être nécessaire que si la compilation de Magick++ échoue.
--without-perl
désactiver la compilation/installation de PerlMagick, ou
Par défaut, PerlMagick est commodément compilé et installé dans le cadre du processus normal configure, make, sudo make install d'ImageMagick. Lorsque --without-perl est spécifié, vous devez d'abord installer ImageMagick, télécharger la distribution source de PerlMagick, la compiler et enfin installer PerlMagick. Notez que PerlMagick est configuré même si --without-perl est spécifié. Si l'argument --with-perl=/path/to/perl est fourni, /../path/to/perl est pris comme l'interpréteur PERL à utiliser. C'est important au cas où l'exécutable perl dans votre PATH n'est pas PERL5, ou n'est pas le PERL que vous voulez utiliser.
--with-perl=PERL
utiliser le binaire Perl spécifié pour configurer PerlMagick.
--with-perl-options=OPTIONS
options à transmettre sur la ligne de commande lors de la génération du Makefile de PerlMagick à partir de Makefile.PL.
Le module PerlMagick est normalement installé en utilisant le PREFIX d'installation de l'interpréteur Perl, plutôt que celui d'ImageMagick. Si le préfixe d'installation d'ImageMagick n'est pas le même que le PREFIX de PERL, vous pourriez constater que l'étape sudo make install de PerlMagick essaie de s'installer dans une arborescence de répertoires où vous n'avez pas les droits d'écriture. C'est courant lorsque PERL est livré avec le système d'exploitation ou sur les serveurs web des fournisseurs d'accès Internet (FAI). Si vous voulez que PerlMagick s'installe ailleurs, fournissez une option PREFIX à l'étape de configuration de PERL via « --with-perl-options=PREFIX=/some/place ». Les autres options acceptées par MakeMaker sont « LIB », « LIBPERL_A », « LINKTYPE » et « OPTIMIZE ». Consultez la page de manuel ExtUtils::MakeMaker(3) pour plus d'informations sur la configuration des extensions PERL.
--without-bzlib
désactiver la prise en charge de BZLIB.
--without-dps
désactiver la prise en charge de Display Postscript.
--with-fpx
activer la prise en charge de FlashPIX.
--without-freetype
désactiver la prise en charge de TrueType.
--with-gslib
activer la prise en charge de la bibliothèque Ghostscript.
--without-jbig
désactiver la prise en charge de JBIG.
--without-jpeg
désactiver la prise en charge de JPEG.
--without-jp2
désactiver la prise en charge de JPEG v2.
--without-lcms
désactiver la prise en charge de LCMS.
--without-lzma
désactiver la prise en charge de LZMA.
--without-png
désactiver la prise en charge de PNG.
--without-tiff
désactiver la prise en charge de TIFF.
--without-wmf
désactiver la prise en charge de WMF.
--with-fontpath
ajouter au début du chemin de recherche de polices par défaut.
--with-gs-font-dir
répertoire contenant les polices Ghostscript.
Spécifiez le répertoire contenant les fichiers de polices Ghostscript Postscript Type 1 (par exemple n022003l.pfb) afin qu'ils puissent être rendus à l'aide de la bibliothèque FreeType. Si les fichiers de polices sont installés en utilisant les chemins d'installation Ghostscript par défaut (${prefix}/share/ghostscript/fonts), ils devraient être découverts automagiquement par configure et spécifier cette option n'est pas nécessaire. Spécifiez cette option si les polices Ghostscript ne sont pas localisées automagiquement, ou si l'emplacement doit être remplacé.
--with-windows-font-dir
répertoire contenant les polices MS-Windows.
Spécifiez le répertoire contenant les polices compatibles MS-Windows. Ce n'est pas nécessaire lorsqu'ImageMagick s'exécute sous MS-Windows.
--without-xml
désactiver la prise en charge de XML.
--without-zlib
désactiver la prise en charge de ZLIB.
--without-x
ne pas utiliser le système X Window.
Par défaut, ImageMagick utilise les bibliothèques déléguées X11 si elles sont disponibles. Lorsque --without-x est spécifié, l'usage de X11 est désactivé. Les sous-commandes display, animate et import ne sont pas incluses. Les sous-commandes restantes ont des fonctionnalités réduites, comme l'absence d'accès aux polices X11 (envisagez d'utiliser plutôt des polices Postscript ou TrueType).
--with-share-path=DIR
chemin alternatif vers le répertoire share (par défaut share/ImageMagick).
--with-libstdc=DIR
utiliser libstdc++ dans DIR (pour GNU C++).
Bien que configure soit conçu pour faciliter l'installation d'ImageMagick, il découvre souvent des problèmes qui seraient autrement rencontrés plus tard lors de la compilation d'ImageMagick. Le script configure teste les en-têtes et les bibliothèques en exécutant le compilateur (CC) avec les indicateurs de compilation spécifiés (CFLAGS), les indicateurs de préprocesseur (CPPFLAGS) et les indicateurs de l'éditeur de liens (LDFLAGS). Toutes les erreurs sont consignées dans le fichier config.log. Si configure échoue à découvrir un en-tête ou une bibliothèque, veuillez consulter ce fichier journal pour en déterminer la raison ; cependant, soyez conscient que les erreurs dans config.log sont normales car configure fonctionne en essayant quelque chose et en voyant si cela échoue. Une erreur dans config.log n'est un problème que si le test aurait dû réussir sur votre système.
Les causes courantes d'échecs de configure sont : 1) un en-tête de délégué n'est pas dans le chemin d'inclusion des en-têtes (option -I de CPPFLAGS) ; 2) une bibliothèque déléguée n'est pas dans le chemin de recherche/d'exécution de l'éditeur de liens (option -L/-R de LDFLAGS) ; 3) une bibliothèque déléguée manque une fonction (ancienne version ?) ; ou 4) l'environnement de compilation est défectueux.
Si toutes les actions correctives raisonnables ont été tentées et que le problème semble dû à une faille du script configure, veuillez envoyer un rapport de bogue au ImageMagick Defect Support Forum. Tous les rapports de bogue doivent contenir le type de système d'exploitation (tel que rapporté par uname -a) ainsi que le compilateur et sa version. Une copie de la sortie du script configure et/ou la portion pertinente du fichier config.log peuvent être précieuses pour trouver le problème. Si vous publiez des portions de config.log, veuillez aussi envoyer un script de la sortie de configure et une description de ce que vous vous attendiez à voir (et pourquoi) afin que l'échec que vous observez puisse être identifié et résolu.
ImageMagick est maintenant configuré et prêt à être compilé
Compiler
Une fois ImageMagick configuré, ces cibles de compilation standard sont disponibles à partir des fichiers make générés :
- make
- Compiler ImageMagick.
- sudo make install
- Installer ImageMagick.
- make check
- Exécuter les tests en utilisant l'ImageMagick installé (sudo make install doit être effectué au préalable). Ghostscript et Freetype sont des prérequis, sinon certains tests unitaires qui rendent du texte et les formats EPS, PS et PDF échoueront probablement. Ces tests unitaires nécessitent la politique de sécurité open pour réussir.
- make clean
- Supprimer tout ce qui se trouve dans le répertoire de compilation créé par make.
- make distclean
- supprimer tout ce qui se trouve dans le répertoire de compilation créé par configure et make. C'est utile si vous voulez repartir de zéro.
- make uninstall
- Supprimer du système tous les fichiers qui sont (ou seraient) installés par sudo make install en utilisant la configuration actuelle. Notez que cette cible est imparfaite pour PerlMagick car Perl ne prend plus en charge de cible uninstall.
Dans la plupart des cas, vous voudrez simplement compiler ImageMagick avec cette commande :
make
Une fois compilé, vous pouvez éventuellement installer ImageMagick sur votre système comme expliqué ci-dessous.
Installer
Maintenant qu'ImageMagick est configuré et compilé, saisissez :
make install
pour l'installer.
Par défaut, ImageMagick installe les binaires dans /../usr/local/bin, les bibliothèques dans /../usr/local/lib, les fichiers d'en-tête dans /../usr/local/include et la documentation dans /../usr/local/share. Vous pouvez spécifier un préfixe d'installation alternatif autre que /../usr/local en donnant à configure l'option --prefix=PATH. C'est précieux au cas où vous n'avez pas les privilèges pour installer sous les chemins par défaut ou si vous voulez plutôt installer dans les répertoires système.
Pour confirmer que l'installation de la distribution ImageMagick a réussi, assurez-vous que le répertoire d'installation est dans votre chemin de recherche d'exécutables et saisissez :
magick logo: logo.gif
identify logo.gif
Le logo ImageMagick s'affiche sur votre affichage X11.
Pour vérifier la configuration de compilation d'ImageMagick, saisissez :
magick identify -list configure
Pour lister les formats d'image pris en charge, saisissez :
magick identify -list format
Pour un test plus complet, vous exécutez la suite de tests d'ImageMagick en saisissant :
make check
Ghostscript est un prérequis, sinon les tests EPS, PS et PDF échoueront. Notez qu'en raison des différences entre l'environnement du développeur et le vôtre, il est possible que quelques tests échouent même si les résultats sont corrects. Les différences entre l'environnement du développeur et le vôtre peuvent inclure le compilateur, le type de CPU et les versions de bibliothèques utilisées. Les développeurs d'ImageMagick utilisent la version actuelle de toutes les bibliothèques dépendantes.
Instructions de compilation spécifiques à Linux
Téléchargez ImageMagick.src.rpm depuis imagemagick.org ou ses miroirs.
Compilez ImageMagick avec cette commande :
rpmbuild --rebuild ImageMagick.src.rpm
Après la compilation, localisez le dossier RPMS et installez la distribution RPM binaire d'ImageMagick :
rpm -ivh ImageMagick-7.1.2.-?.*.rpm
Instructions de compilation spécifiques à macOS
Effectuez ces étapes en tant qu'administrateur ou avec la commande sudo :
Installez MacPorts. Téléchargez et installez MacPorts puis saisissez les commandes suivantes :
sudo port -v install freetype +bytecode
sudo port -v install librsvg
sudo port -v install graphviz +gs +wmf +jbig +jpeg2 +lcms
Cela installe bon nombre des bibliothèques déléguées qu'ImageMagick utilisera, comme JPEG et FreeType.
Installez le dernier Xcode d'Apple.
Utilisez la commande port pour installer toutes les bibliothèques déléguées dont vous avez besoin, par exemple :
sudo port install jpeg
Compilons maintenant ImageMagick :
Téléchargez la distribution source d'ImageMagick et vérifiez la distribution par rapport à sa provenance.
Décompressez et déplacez-vous dans le répertoire ImageMagick de premier niveau :
tar xvzf ImageMagick-7.1.2-25.tar.gz
cd ImageMagick-7.1.2-25
Configurez ImageMagick :
./configure --prefix=/opt --with-quantum-depth=16 \
--disable-dependency-tracking --with-x=yes \
--x-includes=/usr/X11R6/include --x-libraries=/usr/X11R6/lib/ \
--without-perl"
Compilez ImageMagick :
make
Installez ImageMagick :
sudo make install
Pour vérifier votre installation, saisissez
/opt/local/bin/identify -list font
pour lister toutes les polices qu'ImageMagick connaît.
Pour tester l'interface graphique d'ImageMagick, dans un nouveau shell, saisissez :
display -display :0
Instructions de compilation spécifiques à MinGW
Bien que vous puissiez télécharger et installer vous-même les bibliothèques déléguées, beaucoup sont déjà disponibles dans la distribution GnuWin32. Téléchargez et installez les bibliothèques déléguées dont vous avez besoin, comme JPEG, PNG, TIFF, etc. Assurez-vous de spécifier les en-têtes de développement lorsque vous installez un paquet. Ensuite, saisissez :
tar jxvf ImageMagick-7.1.2-?.tar.bz2
cd ImageMagick-7.1.2-25
export CPPFLAGS="-Ic:/Progra~1/GnuWin32/include"
export LDFLAGS="-Lc:/Progra~1/GnuWin32/lib"
./configure --without-perl
make
sudo make install
Faire face aux problèmes imprévus
Il y a de fortes chances que le téléchargement, la configuration, la compilation et l'installation d'ImageMagick se soient déroulés sans accroc comme prévu ; cependant, certains systèmes et environnements peuvent faire échouer une ou plusieurs étapes. Nous abordons quelques problèmes que nous avons rencontrés et comment prendre des mesures correctives pour vous assurer d'avoir une version fonctionnelle d'ImageMagick
Problèmes de compilation
Si la compilation se plaint de dépendances manquantes (par exemple .deps/source.PLO), ajoutez --disable-dependency-tracking à votre ligne de commande configure.
Certains systèmes peuvent échouer à l'édition de liens lors de la compilation en raison de symboles non résolus. Essayez d'ajouter LDFLAGS à la ligne de commande configure :
configure LDFLAGS='-L/usr/local/lib -R/usr/local/lib'
Liaisons à l'exécution de l'éditeur de liens dynamique
Sur certains systèmes, ImageMagick peut ne pas trouver sa bibliothèque partagée, libMagick.so. Essayez d'exécuter ldconfig avec le chemin de la bibliothèque :
/sbin/ldconfig /usr/local/lib
Les systèmes Solaris et Linux disposent de la commande ldd, utile pour suivre les bibliothèques dont ImageMagick dépend :
ldd `which convert`
Bibliothèques déléguées
À l'occasion, vous pouvez recevoir ces avertissements :
no decode delegate for this image format
no encode delegate for this image format
Cette exception indique qu'une bibliothèque déléguée externe ou ses en-têtes n'étaient pas disponibles lors de la compilation d'ImageMagick. Pour ajouter la prise en charge du format d'image, téléchargez et installez la bibliothèque déléguée requise et ses fichiers d'en-tête, puis reconfigurez, recompilez et réinstallez ImageMagick. À titre d'exemple, ajoutons la prise en charge du format d'image JPEG. Nous installons d'abord les RPMS JPEG :
yum install libjpeg libjpeg-devel
Reconfigurons, recompilons et réinstallons maintenant ImageMagick. Pour vérifier que JPEG est désormais correctement pris en charge dans ImageMagick, utilisez cette commande :
magick identify -list format
Vous devriez voir un mode rw- associé à l'étiquette JPEG. Ce mode signifie que l'image peut être lue ou écrite et ne peut prendre en charge qu'une seule image par fichier image.
PerlMagick
Si PerlMagick échoue à l'édition de liens avec un message similaire à libperl.a is not found, relancez configure avec les options --enable-shared ou --enable-shared --with-modules.