]> granicus.if.org Git - imagemagick/blob - Install-unix.txt
(no commit message)
[imagemagick] / Install-unix.txt
1 Download & Unpack
2   
3   ImageMagick builds on a variety of Unix and Unix-like operating systems
4   including Linux, Solaris, FreeBSD, Mac OS X, and others. A compiler is
5   required and fortunately almost all modern Unix systems have one. Download
6   ImageMagick.tar.gz from ftp.imagemagick.org or its mirrors and verify the
7   distribution against its message digest.
8   
9   Unpack the distribution it with this command:
10   
11     $magick> tar xvfz ImageMagick.tar.gz
12   
13   Now that you have the ImageMagick Unix/Linux source distribution unpacked,
14   let's configure it.
15   
16 Configure
17   
18   The configure script looks at your environment and decides what it can cobble
19   together to get ImageMagick compiled and installed on your system. This
20   includes finding a compiler, where your compiler header files are located
21   (e.g. stdlib.h), and if any delegate libraries are available for ImageMagick
22   to use (e.g. JPEG, PNG, TIFF, etc.). If you are willing to accept configure's
23   default options, and build from within the source directory, you can simply
24   type:
25   
26     $magick> cd ImageMagick-7.0.0
27      $magick> ./configure
28   
29   Watch the configure script output to verify that it finds everything that
30   you think it should. Pay particular attention to the last lines of the script
31   output. For example, here is a recent report from our system:
32   
33   ImageMagick is configured as follows. Please verify that this configuration
34   matches your expectations.
35   
36     Host system type: x86_64-unknown-linux-gnu
37     Build system type: x86_64-unknown-linux-gnu
38     
39                       Option                     Value
40     ----------------------------------------------------------------------------
41     Shared libraries  --enable-shared=yes               yes
42     Static libraries  --enable-static=yes               yes
43     Module support    --with-modules=yes                yes
44     GNU ld            --with-gnu-ld=yes         yes
45     Quantum depth     --with-quantum-depth=16   16
46     High Dynamic Range Imagery
47                       --enable-hdri=no          no
48     
49     Delegate Configuration:
50     BZLIB             --with-bzlib=yes          yes
51     Autotrace         --with-autotrace=yes      yes
52     DJVU              --with-djvu=yes           no
53     DPS               --with-dps=yes            no
54     FlashPIX          --with-fpx=yes            no
55     FontConfig        --with-fontconfig=yes     yes
56     FreeType          --with-freetype=yes               yes
57     GhostPCL          None                      pcl6 (unknown)
58     GhostXPS          None                      gxps (unknown)
59     Ghostscript       None                      gs (8.63)
60     result_ghostscript_font_dir='none'
61     Ghostscript fonts --with-gs-font-dir=default
62     Ghostscript lib   --with-gslib=yes          no (failed tests)
63     Graphviz          --with-gvc=yes            yes
64     JBIG              --with-jbig=              no
65     JPEG v1           --with-jpeg=yes           yes
66     JPEG-2000         --with-jp2=yes            yes
67     LCMS v1           --with-lcms=yes           yes
68     LCMS v2           --with-lcms2=yes          yes
69     LQR               --with-lqr=yes            no
70     Magick++          --with-magick-plus-plus=yes       yes
71     OpenEXR           --with-openexr=yes                yes
72     PERL              --with-perl=yes           /usr/bin/perl
73     PNG               --with-png=yes            yes
74     RSVG              --with-rsvg=yes           yes
75     TIFF              --with-tiff=yes           yes
76     result_windows_font_dir='none'
77     Windows fonts     --with-windows-font-dir=
78     WMF               --with-wmf=yes            yes
79     X11               --with-x=                 yes
80     XML               --with-xml=yes            yes
81     ZLIB              --with-zlib=yes           yes
82     
83     X11 Configuration:
84           X_CFLAGS        =
85           X_PRE_LIBS      = -lSM -lICE
86           X_LIBS          =
87           X_EXTRA_LIBS    =
88     
89     Options used to compile and link:
90       PREFIX          = /usr/local
91       EXEC-PREFIX     = /usr/local
92       VERSION         = 6.4.8
93       CC              = gcc -std=gnu99
94       CFLAGS          = -fopenmp -g -O2 -Wall -W -pthread
95       MAGICK_CFLAGS   = -fopenmp -g -O2 -Wall -W -pthread
96       CPPFLAGS        = -I/usr/local/include/ImageMagick
97       PCFLAGS         = -fopenmp
98       DEFS            = -DHAVE_CONFIG_H
99       LDFLAGS         = -lfreetype
100       MAGICK_LDFLAGS  = -L/usr/local/lib -lfreetype
101       LIBS            = -lMagickCore -llcms -ltiff -lfreetype -ljpeg
102                         -lfontconfig -lXext -lSM -lICE -lX11 -lXt -lbz2 -lz
103                         -lm -lgomp -lpthread -lltdl
104       CXX             = g++
105       CXXFLAGS        = -g -O2 -Wall -W -pthread
106   
107   You can influence choice of compiler, compilation flags, or libraries of the
108   configure script by setting initial values for variables in the configure
109   command line. These include, among others:
110   
111     CC
112         Name of C compiler (e.g. cc -Xa) to use.
113
114     CXX
115         Name of C++ compiler to use (e.g. CC).
116
117     CFLAGS
118         Compiler flags (e.g. -g -O2) to compile C code.
119
120     CXXFLAGS
121         Compiler flags (e.g. -g -O2) to compile C++ code.
122
123     CPPFLAGS
124         Include paths (.e.g. -I/usr/local) to look for header files.
125
126     LDFLAGS
127         Library paths (.e.g. -L/usr/local) to look for libraries systems that
128         support the notion of a library run-path may require an additional
129         argument in order to find shared libraries at run time. For example,
130         the Solaris linker requires an argument of the form -R/path. Some
131         Linux systems will work with -rpath /usr/local/lib, while some other
132         Linux systems who's gcc does not pass -rpath to the linker, require
133         an argument of the form -Wl,-rpath,/usr/local/lib.
134
135     LIBS
136         Extra libraries (.e.g. -l/usr/local/lib) required to link.
137   
138   Here is an example of setting configure variables from the command line:
139   
140     $magick> ./configure CC=c99 CFLAGS=-O2 LIBS=-lposix
141   
142   Any variable (e.g. CPPFLAGS or LDFLAGS) which requires a directory path must
143   specify an absolute path rather than a relative path.
144   
145   Configure can usually find the X include and library files automagically,
146   but if it doesn't, you can use the --x-includes=path and --x-libraries=path
147   options to specify their locations.
148   
149   The configure script provides a number of ImageMagick specific
150   options. When disabling an option --disable-something is equivalent to
151   specifying --enable-something=no and --without-something is equivalent to
152   --with-something=no. The configure options are as follows (execute configure
153   --help to see all options).
154   
155   ImageMagick options represent either features to be enabled, disabled,
156   or packages to be included in the build. When a feature is enabled (via
157   --enable-something), it enables code already present in ImageMagick. When a
158   package is enabled (via --with-something), the configure script will search
159   for it, and if is properly installed and ready to use (headers and built
160   libraries are found by compiler) it will be included in the build. The
161   configure script is delivered with all features disabled and all packages
162   enabled. In general, the only reason to disable a package is if a package
163   exists but it is unsuitable for the build (perhaps an old version or not
164   compiled with the right compilation flags).
165   
166   Here are the optional features you can configure:
167   
168     --enable-shared
169       build the shared libraries and support for loading coder and process
170       modules. Shared libraries are preferred because they allow programs
171       to share common code, making the individual programs much smaller. In
172       addition shared libraries are required in order for PerlMagick to be
173       dynamically loaded by an installed PERL (otherwise an additional PERL
174       (PerlMagick) must be installed.
175   
176       ImageMagick built with delegates (see MAGICK PLUG-INS below) can pose
177       additional challenges. If ImageMagick is built using static libraries (the
178       default without --enable-shared) then delegate libraries may be built as
179       either static libraries or shared libraries. However, if ImageMagick is
180       built using shared libraries, then all delegate libraries must also be
181       built as shared libraries. Static libraries usually have the extension
182       .a, while shared libraries typically have extensions like .so, .sa, or
183       .dll. Code in shared libraries normally must compiled using a special
184       compiler option to produce Position Independent Code (PIC). The only
185       time this not necessary is if the platform compiles code as PIC by
186       default.
187   
188       PIC compilation flags differ from vendor to vendor (gcc's is
189       -fPIC). However, you must compile all shared library source with the
190       same flag (for gcc use -fPIC rather than -fpic). While static libraries
191       are normally created using an archive tool like ar, shared libraries
192       are built using special linker or compiler options (e.g. -shared for gcc).
193   
194       If --enable-shared is not specified, a new PERL interpreter (PerlMagick)
195       is built which is statically linked against the PerlMagick extension. This
196       new interpreter is installed into the same directory as the ImageMagick
197       utilities. If --enable-shared is specified, the PerlMagick extension is
198       built as a dynamically loadable object which is loaded into your current
199       PERL interpreter at run-time. Use of dynamically-loaded extensions is
200       preferable over statically linked extensions so use --enable-shared if
201       possible (note that all libraries used with ImageMagick must be shared
202       libraries!).
203   
204     --disable-static
205       static archive libraries (with extension .a) are not built. If you
206       are building shared libraries, there is little value to building static
207       libraries. Reasons to build static libraries include: 1) they can be
208       easier to debug; 2) clients do not have external dependencies (i.e.
209       libMagick.so); 3) building PIC versions of the delegate libraries may
210       take additional expertise and effort; 4) you are unable to build shared
211       libraries.
212   
213     --disable-installed
214       disable building an installed ImageMagick (default enabled).
215   
216       By default the ImageMagick build is configured to formally install
217       into a directory tree. This the most secure and reliable way to install
218       ImageMagick. Use this option to configure ImageMagick so that it doesn't
219       use hard-coded paths and locates support files by computing an offset path
220       from the executable (or from the location specified by the MAGICK_HOME
221       environment variable. The uninstalled configuration is ideal for binary
222       distributions which are expected to extract and run in any location.
223   
224     --enable-ccmalloc
225       enable 'ccmalloc' memory debug support (default disabled).
226   
227     --enable-prof
228       enable 'prof' profiling support (default disabled).
229   
230     --enable-gprof
231       enable 'gprof' profiling support (default disabled).
232   
233     --enable-gcov
234    
235      enable 'gcov' profiling support (default disabled).
236     --disable-openmp
237       disable OpenMP (default enabled).
238   
239       Certain ImageMagick algorithms, for example convolution, can achieve
240       a significant speed-up with the assistance of the OpenMP API when
241       running on modern dual and quad-core processors.
242   
243     --disable-largefile
244       disable support for large (64 bit) file offsets.
245   
246       By default, ImageMagick is compiled with support for large files (>
247       2GB on a 32-bit CPU) if the operating system supports large files. Some
248       applications which use the ImageMagick library may also require support
249       for large files. By disabling support for large files via
250       --disable-largefile, dependent applications do not require special
251       compilation options for large files in order to use the library.
252   
253   Here are the optional packages you can configure:
254
255     --enable-legacy-support
256       install legacy command-line utilities (default disabled).
257   
258     --with-quantum-depth
259       number of bits in a pixel quantum (default 16).
260   
261       Use this option to specify the number of bits to use per pixel quantum
262       (the size of the red, green, blue, and alpha pixel components). For
263       example, --with-quantum-depth=8 builds ImageMagick using 8-bit quantums.
264       Most computer display adapters use 8-bit quantums. Currently supported
265       arguments are 8, 16, or 32. We recommend the default of 16 because
266       some image formats support 16 bits-per-pixel. However, this option is
267       important in determining the overall run-time performance of ImageMagick.
268   
269       The number of bits in a quantum determines how many values it may
270       contain. Each quantum level supports 256 times as many values as the
271       previous level. The following table shows the range available for various
272       quantum sizes.
273   
274         Quantum Depth  Valid Range (Decimal)  Valid Range (Hex)
275             8             0-255                  00-FF
276            16             0-65535                0000-FFFF
277            32             0-4294967295           00000000-FFFFFFFF
278         
279       Larger pixel quantums can cause ImageMagick to run more slowly and to
280       require more memory. For example, using sixteen-bit pixel quantums can
281       cause ImageMagick to run 15% to 50% slower (and take twice as much memory)
282       than when it is built to support eight-bit pixel quantums.
283   
284       The amount of virtual memory consumed by an image can be computed by
285       the equation (5 * Quantum Depth * Rows * Columns) / 8. This an important
286       consideration when resources are limited, particularly since processing
287       an image may require several images to be in memory at one time. The
288       following table shows memory consumption values for a 1024x768 image:
289   
290         Quantum Depth   Virtual Memory
291              8               3MB
292             16               8MB
293             32              15MB
294   
295     --enable-hdri
296       accurately represent the wide range of intensity levels (experimental).
297   
298     --enable-osx-universal-binary
299       build a universal binary on OS X.
300   
301     --without-modules
302       disable support for dynamically loadable modules.
303   
304       Image coders and process modules are built as loadable modules which are
305       installed under the directory [prefix]/lib/ImageMagick-X.X.X/modules-QN
306       (where 'N' equals 8, 16, or 32 depending on the quantum depth) in the
307       subdirectories coders and filters respectively. The modules build option
308       is only available in conjunction with --enable-shared. If --enable-shared
309       is not also specified, support for building modules is disabled. Note that
310       if --enable-shared and --disable-modules are specified, the module loader
311       is active (allowing extending an installed ImageMagick by simply copying
312       a module into place) but ImageMagick itself is not built using modules.
313   
314     --with-cache
315       set pixel cache threshold (defaults to available memory).
316   
317       Specify a different image pixel cache threshold with this option. This
318       sets the maximum amount of heap memory that ImageMagick is allowed to
319       consume before switching to using memory-mapped temporary files to store
320       raw pixel data.
321   
322     --without-threads
323       disable threads support.
324   
325       By default, the ImageMagick library is compiled with multi-thread
326       support. If this undesirable, specify --without-threads.
327   
328     --with-frozenpaths
329       enable frozen delegate paths.
330   
331       Normally, external program names are substituted into the delegates.xml
332       configuration file without full paths. Specify this option to enable
333       saving full paths to programs using locations determined by configure.
334       This useful for environments where programs are stored under multiple
335       paths, and users may use different PATH settings than the person who
336       builds ImageMagick.
337   
338     --without-magick-plus-plus
339       disable build/install of Magick++.
340   
341       Disable building Magick++, the C++ application programming interface
342       to ImageMagick. A suitable C++ compiler is required in order to build
343       Magick++. Specify the CXX configure variable to select the C++ compiler
344       to use (default g++), and CXXFLAGS to select the desired compiler
345       optimization and debug flags (default -g -O2). Antique C++ compilers
346       will normally be rejected by configure tests so specifying this option
347       should only be necessary if Magick++ fails to compile.
348   
349     --without-perl
350       disable build/install of PerlMagick, or
351   
352       By default, PerlMagick is conveniently compiled and installed as part
353       of ImageMagick's normal configure, make, sudo make install process. When
354       --without-perl is specified, you must first install ImageMagick, change to
355       the PerlMagick subdirectory, build, and finally install PerlMagick. Note,
356       PerlMagick is configured even if --without-perl is specified. If the
357       argument --with-perl=/path/to/perl is supplied, /../path/to/perl is be
358       taken as the PERL interpreter to use. This important in case the perl
359       executable in your PATH is not PERL5, or is not the PERL you want to use.
360   
361     --with-perl=PERL
362       use specified Perl binary to configure PerlMagick.
363   
364     --with-perl-options=OPTIONS
365       options to pass on command-line when generating PerlMagick's Makefile
366       from Makefile.PL.
367   
368       The PerlMagick module is normally installed using the Perl interpreter's
369       installation PREFIX, rather than ImageMagick's. If ImageMagick's
370       installation prefix is not the same as PERL's PREFIX, then you
371       may find that PerlMagick's sudo make install step tries to install
372       into a directory tree that you don't have write permissions to. This
373       common when PERL is delivered with the operating system or on Internet
374       Service Provider (ISP) web servers. If you want PerlMagick to install
375       elsewhere, then provide a PREFIX option to PERL's configuration step
376       via "--with-perl-options=PREFIX=/some/place". Other options accepted by
377       MakeMaker are 'LIB', 'LIBPERL_A', 'LINKTYPE', and 'OPTIMIZE'. See the
378       ExtUtils::MakeMaker(3) manual page for more information on configuring
379       PERL extensions.
380   
381     --without-bzlib
382       disable BZLIB support.
383   
384     --without-dps
385       disable Display Postscript support.
386   
387     --with-fpx
388       enable FlashPIX support.
389   
390     --without-freetype
391       disable TrueType support.
392   
393     --with-gslib
394       enable Ghostscript library support.
395   
396     --without-jbig
397       disable JBIG support.
398   
399     --without-jpeg
400       disable JPEG support.
401   
402     --without-jp2
403       disable JPEG v2 support.
404   
405     --without-lcms
406       disable lcms (v1.1X) support
407
408     --without-lcms2
409       disable lcms (v2.X) support
410   
411     --without-lzma
412       disable LZMA support.
413
414     --without-png
415       disable PNG support.
416   
417     --without-tiff
418       disable TIFF support.
419   
420     --without-wmf
421       disable WMF support.
422   
423     --with-fontpath
424       prepend to default font search path.
425   
426     --with-gs-font-dir
427       directory containing Ghostscript fonts.
428   
429       Specify the directory containing the Ghostscript Postscript Type 1 font
430       files (e.g. n022003l.pfb) so that they can be rendered using the FreeType
431       library. If the font files are installed using the default Ghostscript
432       installation paths (${prefix}/share/ghostscript/fonts), they should
433       be discovered automagically by configure and specifying this option is
434       not necessary. Specify this option if the Ghostscript fonts fail to be
435       located automagically, or the location needs to be overridden.
436   
437     --with-windows-font-dir
438       directory containing MS-Windows fonts.
439   
440       Specify the directory containing MS-Windows-compatible fonts. This not
441       necessary when ImageMagick is running under MS-Windows.
442   
443     --without-xml
444       disable XML support.
445   
446     --without-zlib
447       disable ZLIB support.
448   
449     --without-x
450       don't use the X Window System.
451   
452       By default, ImageMagick uses the X11 delegate libraries if they are
453       available. When --without-x is specified, use of X11 is disabled. The
454       display, animate, and import sub-commands are not included. The remaining
455       sub-commands have reduced functionality such as no access to X11 fonts
456       (consider using Postscript or TrueType fonts instead).
457   
458     --with-share-path=DIR
459       Alternate path to share directory (default share/ImageMagick).
460   
461     --with-libstdc=DIR
462       use libstdc++ in DIR (for GNU C++).
463   
464   While configure is designed to ease installation of ImageMagick, it often
465   discovers problems that would otherwise be encountered later when compiling
466   ImageMagick. The configure script tests for headers and libraries by
467   executing the compiler (CC) with the specified compilation flags (CFLAGS),
468   pre-processor flags (CPPFLAGS), and linker flags (LDFLAGS). Any errors are
469   logged to the file config.log. If configure fails to discover a header or
470   library please review this log file to determine why, however, please be
471   aware that *errors in the config.log are normal* because configure works by
472   trying something and seeing if it fails. An error in config.log is only a
473   problem if the test should have passed on your system.
474   
475   Common causes of configure failures are: 1) a delegate header is not in the
476   header include path (CPPFLAGS -I option); 2) a delegate library is not in
477   the linker search/run path (LDFLAGS -L/-R option); 3) a delegate library is
478   missing a function (old version?); or 4) compilation environment is faulty.
479   
480   If all reasonable corrective actions have been tried and the problem appears
481   be due to a flaw in the configure script, please send a bug report to the
482   ImageMagick Defect Support Forum. All bug reports should contain the operating
483   system type (as reported by uname -a) and the compiler/compiler-version. A
484   copy of the configure script output and/or the relevant portion of config.log
485   file may be valuable in order to find the problem. If you post portions
486   of config.log, please also send a script of the configure output and a
487   description of what you expected to see (and why) so the failure you are
488   observing can be identified and resolved.
489   
490   ImageMagick is now configured and ready to build
491   
492 Build
493   
494   Once ImageMagick is configured, these standard build targets are available
495   from the generated make files:
496   
497     make
498       build ImageMagick.
499   
500     sudo make install
501       install ImageMagick.
502   
503     make check
504       Run tests using the installed ImageMagick (sudo make install must be
505       done first). Ghostscript is a prerequisite, otherwise the EPS, PS,
506       and PDF tests will fail.
507   
508     make clean
509       Remove everything in the build directory created by make.
510   
511     make distclean
512       remove everything in the build directory created by configure and
513       make. This useful if you want to start over from scratch.
514   
515     make uninstall
516       Remove all files from the system which are (or would be) installed by sudo
517       make install using the current configuration. Note that this target is
518       imperfect for PerlMagick since Perl no longer supports an uninstall
519       target.
520   
521   In most cases you will simply wand to compile ImageMagick with this command:
522   
523     $magick> make
524   
525   Once built, you can optionally install ImageMagick on your system as
526   discussed below.
527   
528 Install
529   
530   Now that ImageMagick is configured and built, type:
531   
532     $magick> make install
533   
534   to install it.
535   
536   By default, ImageMagick is installs binaries in /../usr/local/bin, libraries
537   in /../usr/local/lib, header files in /../usr/local/include and documentation
538   in /../usr/local/share. You can specify an alternative installation prefix
539   other than /../usr/local by giving configure the option --prefix=PATH. This
540   valuable in case you don't have privileges to install under the default
541   paths or if you want to install in the system directories instead.
542   
543   To confirm your installation of the ImageMagick distribution was successful,
544   ensure that the installation directory is in your executable search path
545   and type:
546   
547     $magick> display
548   
549   The ImageMagick logo is displayed on your X11 display.
550   
551   To verify the ImageMagick build configuration, type:
552   
553     $magick> identify -list configure
554   
555   To list which image formats are supported , type:
556   
557     $magick> identify -list format
558   
559   For a more comprehensive test, you run the ImageMagick test suite by typing:
560   
561     $magick> make check
562   
563   Ghostscript is a prerequisite, otherwise the EPS, PS, and PDF tests will
564   fail. Note that due to differences between the developer's environment and
565   your own it is possible that a few tests may fail even though the results are
566   ok. Differences between the developer's environment environment and your own
567   may include the compiler, the CPU type, and the library versions used. The
568   ImageMagick developers use the current release of all dependent libraries.
569
570 Linux-specific Build instructions
571   
572   Download ImageMagick.src.rpm from ftp.imagemagick.org or its mirrors and
573   verify the distribution against its message digest.
574   
575   Build ImageMagick with this command:
576   
577     $magick> rpmbuild --rebuild ImageMagick.src.rpm
578   
579   After the build you, locate the RPMS folder and install the ImageMagick
580   binary RPM distribution:
581   
582     $magick> rpm -ivh ImageMagick-7.0.0-?.*.rpm
583   
584 MinGW-specific Build instructions
585   
586   Although you can download and install delegate libraries yourself, many
587   are already available in the GnuWin32 distribution. Download and install
588   whichever delegate libraries you require such as JPEG, PNG, TIFF, etc. Make
589   sure you specify the development headers when you install a package. Next
590   type,
591   
592     $magick> tar jxvf ImageMagick-7.0.0-?.tar.bz2
593     $magick> cd ImageMagick-7.0.0
594     $magick> export CPPFLAGS="-Ic:/Progra~1/GnuWin32/include"
595     $magick> export LDFLAGS="-Lc:/Progra~1/GnuWin32/lib"
596     $magick> ./configure --without-perl
597     $magick> make $magick> sudo make install
598   
599 Dealing with Unexpected Problems
600   
601   Chances are the download, configure, build, and install of ImageMagick went
602   flawlessly as it is intended, however, certain systems and environments may
603   cause one or more steps to fail. We discuss a few problems we've run across
604   and how to take corrective action to ensure you have a working release
605   of ImageMagick
606   
607   Build Problems
608   
609   If the build complains about missing dependencies (e.g. .deps/source.PLO),
610   add --disable-dependency-tracking to your configure command line.
611   
612   Some systems may fail to link at build time due to unresolved symbols. Try
613   adding the LDFLAGS to the configure command line:
614   
615     $magick> configure LDFLAGS='-L/usr/local/lib -R/usr/local/lib'
616   
617   Dynamic Linker Run-time Bindings
618   
619   On some systems, ImageMagick may not find its shared library, libMagick.so. Try
620   running the ldconfig with the library path:
621   
622     $magick> /sbin/ldconfig /usr/local/lib
623   
624   Solaris and Linux systems have the ldd command which is useful to track which
625   libraries ImageMagick depends on:
626   
627     $magick> ldd `which convert`
628   
629   Delegate Libraries
630   
631   On occasion you may receive these warnings:
632   
633     no decode delegate for this image format
634     no encode delegate for this image format
635   
636   This exception indicates that an external delegate library or its headers
637   were not available when ImageMagick was built. To add support for the image
638   format, download and install the requisite delegate library and its header
639   files and reconfigure, rebuild, and reinstall ImageMagick. As an example,
640   lets add support for the JPEG image format. First we install the JPEG RPMS:
641   
642     $magick> yum install libjpeg libjpeg-devel
643   
644   Now reconfigure, rebuild, and reinstall ImageMagick. To verify JPEG is now
645   properly supported within ImageMagick, use this command:
646   
647     $magick> identify -list format
648   
649   You should see a mode of rw- associated with the JPEG tag. This mode means
650   the image can be read or written and can only support one image per image
651   file.
652   
653 PerlMagick
654   
655   If PerlMagick fails to link with a message similar to libperl.a is not found,
656   rerun configure with the --enable-shared or --enable-shared --with-modules
657   options.