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 --with-package-release-name 350 encode this name into the shared library name (see libtools -release 351 option). 352 353 --without-perl 354 disable build/install of PerlMagick, or 355 356 By default, PerlMagick is conveniently compiled and installed as part 357 of ImageMagick's normal configure, make, sudo make install process. When 358 --without-perl is specified, you must first install ImageMagick, change to 359 the PerlMagick subdirectory, build, and finally install PerlMagick. Note, 360 PerlMagick is configured even if --without-perl is specified. If the 361 argument --with-perl=/path/to/perl is supplied, /../path/to/perl is be 362 taken as the PERL interpreter to use. This important in case the perl 363 executable in your PATH is not PERL5, or is not the PERL you want to use. 364 365 --with-perl=PERL 366 use specified Perl binary to configure PerlMagick. 367 368 --with-perl-options=OPTIONS 369 options to pass on command-line when generating PerlMagick's Makefile 370 from Makefile.PL. 371 372 The PerlMagick module is normally installed using the Perl interpreter's 373 installation PREFIX, rather than ImageMagick's. If ImageMagick's 374 installation prefix is not the same as PERL's PREFIX, then you 375 may find that PerlMagick's sudo make install step tries to install 376 into a directory tree that you don't have write permissions to. This 377 common when PERL is delivered with the operating system or on Internet 378 Service Provider (ISP) web servers. If you want PerlMagick to install 379 elsewhere, then provide a PREFIX option to PERL's configuration step 380 via "--with-perl-options=PREFIX=/some/place". Other options accepted by 381 MakeMaker are 'LIB', 'LIBPERL_A', 'LINKTYPE', and 'OPTIMIZE'. See the 382 ExtUtils::MakeMaker(3) manual page for more information on configuring 383 PERL extensions. 384 385 --without-bzlib 386 disable BZLIB support. 387 388 --without-dps 389 disable Display Postscript support. 390 391 --with-fpx 392 enable FlashPIX support. 393 394 --without-freetype 395 disable TrueType support. 396 397 --with-gslib 398 enable Ghostscript library support. 399 400 --without-jbig 401 disable JBIG support. 402 403 --without-jpeg 404 disable JPEG support. 405 406 --without-jp2 407 disable JPEG v2 support. 408 409 --without-lcms 410 disable lcms (v1.1X) support 411 412 --without-lcms2 413 disable lcms (v2.X) support 414 415 --without-lzma 416 disable LZMA support. 417 418 --without-png 419 disable PNG support. 420 421 --without-tiff 422 disable TIFF support. 423 424 --without-wmf 425 disable WMF support. 426 427 --with-fontpath 428 prepend to default font search path. 429 430 --with-gs-font-dir 431 directory containing Ghostscript fonts. 432 433 Specify the directory containing the Ghostscript Postscript Type 1 font 434 files (e.g. n022003l.pfb) so that they can be rendered using the FreeType 435 library. If the font files are installed using the default Ghostscript 436 installation paths (${prefix}/share/ghostscript/fonts), they should 437 be discovered automagically by configure and specifying this option is 438 not necessary. Specify this option if the Ghostscript fonts fail to be 439 located automagically, or the location needs to be overridden. 440 441 --with-windows-font-dir 442 directory containing MS-Windows fonts. 443 444 Specify the directory containing MS-Windows-compatible fonts. This not 445 necessary when ImageMagick is running under MS-Windows. 446 447 --without-xml 448 disable XML support. 449 450 --without-zlib 451 disable ZLIB support. 452 453 --without-x 454 don't use the X Window System. 455 456 By default, ImageMagick uses the X11 delegate libraries if they are 457 available. When --without-x is specified, use of X11 is disabled. The 458 display, animate, and import sub-commands are not included. The remaining 459 sub-commands have reduced functionality such as no access to X11 fonts 460 (consider using Postscript or TrueType fonts instead). 461 462 --with-share-path=DIR 463 Alternate path to share directory (default share/ImageMagick). 464 465 --with-libstdc=DIR 466 use libstdc++ in DIR (for GNU C++). 467 468 While configure is designed to ease installation of ImageMagick, it often 469 discovers problems that would otherwise be encountered later when compiling 470 ImageMagick. The configure script tests for headers and libraries by 471 executing the compiler (CC) with the specified compilation flags (CFLAGS), 472 pre-processor flags (CPPFLAGS), and linker flags (LDFLAGS). Any errors are 473 logged to the file config.log. If configure fails to discover a header or 474 library please review this log file to determine why, however, please be 475 aware that *errors in the config.log are normal* because configure works by 476 trying something and seeing if it fails. An error in config.log is only a 477 problem if the test should have passed on your system. 478 479 Common causes of configure failures are: 1) a delegate header is not in the 480 header include path (CPPFLAGS -I option); 2) a delegate library is not in 481 the linker search/run path (LDFLAGS -L/-R option); 3) a delegate library is 482 missing a function (old version?); or 4) compilation environment is faulty. 483 484 If all reasonable corrective actions have been tried and the problem appears 485 be due to a flaw in the configure script, please send a bug report to the 486 ImageMagick Defect Support Forum. All bug reports should contain the operating 487 system type (as reported by uname -a) and the compiler/compiler-version. A 488 copy of the configure script output and/or the relevant portion of config.log 489 file may be valuable in order to find the problem. If you post portions 490 of config.log, please also send a script of the configure output and a 491 description of what you expected to see (and why) so the failure you are 492 observing can be identified and resolved. 493 494 ImageMagick is now configured and ready to build 495 496 Build 497 498 Once ImageMagick is configured, these standard build targets are available 499 from the generated make files: 500 501 make 502 build ImageMagick. 503 504 sudo make install 505 install ImageMagick. 506 507 make check 508 Run tests using the installed ImageMagick (sudo make install must be 509 done first). Ghostscript is a prerequisite, otherwise the EPS, PS, 510 and PDF tests will fail. 511 512 make clean 513 Remove everything in the build directory created by make. 514 515 make distclean 516 remove everything in the build directory created by configure and 517 make. This useful if you want to start over from scratch. 518 519 make uninstall 520 Remove all files from the system which are (or would be) installed by sudo 521 make install using the current configuration. Note that this target is 522 imperfect for PerlMagick since Perl no longer supports an uninstall 523 target. 524 525 In most cases you will simply want to compile ImageMagick with this command: 526 527 $magick> make 528 529 Once built, you can optionally install ImageMagick on your system as 530 discussed below. 531 532 Install 533 534 Now that ImageMagick is configured and built, type: 535 536 $magick> make install 537 538 to install it. 539 540 By default, ImageMagick is installs binaries in /../usr/local/bin, libraries 541 in /../usr/local/lib, header files in /../usr/local/include and documentation 542 in /../usr/local/share. You can specify an alternative installation prefix 543 other than /../usr/local by giving configure the option --prefix=PATH. This 544 valuable in case you don't have privileges to install under the default 545 paths or if you want to install in the system directories instead. 546 547 To confirm your installation of the ImageMagick distribution was successful, 548 ensure that the installation directory is in your executable search path 549 and type: 550 551 $magick> display 552 553 The ImageMagick logo is displayed on your X11 display. 554 555 To verify the ImageMagick build configuration, type: 556 557 $magick> identify -list configure 558 559 To list which image formats are supported , type: 560 561 $magick> identify -list format 562 563 For a more comprehensive test, you run the ImageMagick test suite by typing: 564 565 $magick> make check 566 567 Ghostscript is a prerequisite, otherwise the EPS, PS, and PDF tests will 568 fail. Note that due to differences between the developer's environment and 569 your own it is possible that a few tests may fail even though the results are 570 ok. Differences between the developer's environment environment and your own 571 may include the compiler, the CPU type, and the library versions used. The 572 ImageMagick developers use the current release of all dependent libraries. 573 574 Linux-specific Build instructions 575 576 Download ImageMagick.src.rpm from ftp.imagemagick.org or its mirrors and 577 verify the distribution against its message digest. 578 579 Build ImageMagick with this command: 580 581 $magick> rpmbuild --rebuild ImageMagick.src.rpm 582 583 After the build you, locate the RPMS folder and install the ImageMagick 584 binary RPM distribution: 585 586 $magick> rpm -ivh ImageMagick-7.0.0-?.*.rpm 587 588 MinGW-specific Build instructions 589 590 Although you can download and install delegate libraries yourself, many 591 are already available in the GnuWin32 distribution. Download and install 592 whichever delegate libraries you require such as JPEG, PNG, TIFF, etc. Make 593 sure you specify the development headers when you install a package. Next 594 type, 595 596 $magick> tar jxvf ImageMagick-7.0.0-?.tar.bz2 597 $magick> cd ImageMagick-7.0.0 598 $magick> export CPPFLAGS="-Ic:/Progra~1/GnuWin32/include" 599 $magick> export LDFLAGS="-Lc:/Progra~1/GnuWin32/lib" 600 $magick> ./configure --without-perl 601 $magick> make $magick> sudo make install 602 603 Dealing with Unexpected Problems 604 605 Chances are the download, configure, build, and install of ImageMagick went 606 flawlessly as it is intended, however, certain systems and environments may 607 cause one or more steps to fail. We discuss a few problems we've run across 608 and how to take corrective action to ensure you have a working release 609 of ImageMagick 610 611 Build Problems 612 613 If the build complains about missing dependencies (e.g. .deps/source.PLO), 614 add --disable-dependency-tracking to your configure command line. 615 616 Some systems may fail to link at build time due to unresolved symbols. Try 617 adding the LDFLAGS to the configure command line: 618 619 $magick> configure LDFLAGS='-L/usr/local/lib -R/usr/local/lib' 620 621 Dynamic Linker Run-time Bindings 622 623 On some systems, ImageMagick may not find its shared library, libMagick.so. Try 624 running the ldconfig with the library path: 625 626 $magick> /sbin/ldconfig /usr/local/lib 627 628 Solaris and Linux systems have the ldd command which is useful to track which 629 libraries ImageMagick depends on: 630 631 $magick> ldd `which convert` 632 633 Delegate Libraries 634 635 On occasion you may receive these warnings: 636 637 no decode delegate for this image format 638 no encode delegate for this image format 639 640 This exception indicates that an external delegate library or its headers 641 were not available when ImageMagick was built. To add support for the image 642 format, download and install the requisite delegate library and its header 643 files and reconfigure, rebuild, and reinstall ImageMagick. As an example, 644 lets add support for the JPEG image format. First we install the JPEG RPMS: 645 646 $magick> yum install libjpeg libjpeg-devel 647 648 Now reconfigure, rebuild, and reinstall ImageMagick. To verify JPEG is now 649 properly supported within ImageMagick, use this command: 650 651 $magick> identify -list format 652 653 You should see a mode of rw- associated with the JPEG tag. This mode means 654 the image can be read or written and can only support one image per image 655 file. 656 657 PerlMagick 658 659 If PerlMagick fails to link with a message similar to libperl.a is not found, 660 rerun configure with the --enable-shared or --enable-shared --with-modules 661 options. 662