Introduction to ImageMagick
ImageMagick is a collection of tools and libraries to read, write, and manipulate an image in various image formats. Image processing operations are available from the command line. Bindings for Perl and C++ are also available.
Note
Development versions of BLFS may not build or run some packages properly if LFS or dependencies have been updated since the most recent stable versions of the books.
Package Information
Note
The ImageMagick source releases are updated frequently and the version shown above may no longer be available from the download locations. You can download a more recent version and use the existing BLFS instructions to install it. Chances are that it will work just fine, but this has not been tested by the BLFS team. If the package version shown above is not available from the locations shown above, you can download it from the BLFS package server at Oregon State University: https://ftp.osuosl.org/pub/blfs/conglomeration/ImageMagick/.
ImageMagick Dependencies
Recommended
Xorg Libraries
The optional dependencies listed below should be installed if you need support for the specific format or the conversion tool the dependency provides. Additional information about the dependencies can be found in the Install-unix.txt
file located in the source tree as well as issuing the ./configure --help command. A summary of this information, as well as some additional notes can be viewed on-line at https://imagemagick.org/script/install-source.php.
Optional System Utilities
Clang from LLVM-17.0.6, Cups-2.4.7, cURL-8.5.0, FFmpeg-6.1.1, fftw-3.3.10, p7zip-17.04 (LZMA), SANE-1.2.1, Wget-1.21.4, xdg-utils-1.1.3, xterm-389, Dmalloc, Electric Fence and PGP or GnuPG-2.4.3 (you'll have to do some hacking to use GnuPG), Profiles
Optional Graphics Libraries
JasPer-4.1.2, Little CMS-2.14, libgxps-0.3.2, libjpeg-turbo-3.0.1, libpng-1.6.40, libraw-0.21.2 (for dng files, needs the thread-safe libraw_r), librsvg-2.57.1, libtiff-4.6.0, libwebp-1.3.2, OpenJPEG-2.5.0, Pango-1.50.14, DjVuLibre,
FlashPIX (libfpx), FLIF, JBIG-KIT, libheif with libde265 (both needed if converting macOS heic images), libjxl, libraqm, Liquid Rescale, OpenEXR, and RALCGM (or ralcgm)
Optional Graphics Utilities
Dejavu fonts, ghostscript-10.02.1, Gimp-2.10.36, Graphviz-9.0.0, Inkscape-1.3.2, Blender, corefonts, GhostPCL, Gnuplot, POV-Ray, and Radiance
Optional Conversion Tools
Enscript-1.6.6, Potrace-1.16, texlive-20230313 (or install-tl-unx) AutoTrace, GeoExpress Command Line Utilities, AKA MrSID Utilities (binary package), hp2xx, libwmf, UniConvertor, and Utah Raster Toolkit (or URT-3.1b)
Installation of ImageMagick
Install ImageMagick by running the following commands:
./configure --prefix=/usr \
--sysconfdir=/etc \
--enable-hdri \
--with-modules \
--with-perl \
--disable-static &&
make
Now, as the root
user:
make DOCUMENTATION_PATH=/usr/share/doc/imagemagick-7.1.1 install
To test the installation, issue: make check. Note that the EPS, PS, and PDF tests require a working Ghostscript. One test in 'make check' needs “Helvetica” from “Ghostscript Standard Fonts”, which are optionally installed in ghostscript-10.02.1 - that test, and one other, might fail, but all the validation can still pass.
Command Explanations
--enable-hdri
: Enables building of a high dynamic range version of ImageMagick.
--with-modules
: Enables support for dynamically loadable modules.
--with-perl
: Enables building and installing of PerlMagick.
--disable-static
: This switch prevents installation of static versions of the libraries.
--with-gslib
: Enables support to use the Ghostscript shared library.
--with-rsvg
: Enables support to use the librsvg library.
--with-autotrace
: Enables support to use the Autotrace library.
--with-wmf
: Enables support to use the libwmf library.
--with-gvc
: Enables support to use GraphViz.
--with-windows-font-dir= <Some/Directory>
: This option specifies the directory where the Windows CoreFonts are installed.
--with-dejavu-font-dir= <Some/Directory>
: This option specifies the directory where the DejaVu fonts are installed.
The options and parameters listed above are the only ones you should have to pass to the configure script to activate all the delegate dependencies. All other dependencies will be automatically detected and utilized in the build if they are installed.