glfs/general/genutils/imagemagick.xml
Xi Ruoyao 17aa21c551
Change all http://*.sourceforge.net/ URLs to https
Now all sourceforge.net subdomains have a valid SSL certificate.  The
changes are automatically done via a sed.  I've reviewed the changes and
reverted the changes in archive/*, pst/xml/docbook-xsl.xml, and
stylesheets/lfs-xsl/lfs-l10n.xml.  Other changes should (hopefully) be
fine.
2023-01-29 12:35:23 +08:00

603 lines
22 KiB
XML

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../../general.ent">
%general-entities;
<!ENTITY imagemagick-patch-version "46">
<!ENTITY imagemagick-download-http "https://www.imagemagick.org/archive/releases/ImageMagick-&imagemagick-version;-&imagemagick-patch-version;.tar.xz">
<!-- 2021-01-14 : ftp.imagemagick.org hangs, assume no longer usable
<!ENTITY imagemagick-download-ftp "ftp://ftp.imagemagick.org/pub/ImageMagick/releases/ImageMagick-&imagemagick-version;-&imagemagick-patch-version;.tar.xz"> -->
<!ENTITY imagemagick-download-ftp " ">
<!ENTITY imagemagick-md5sum "37db9e62dee40cbf2fa05ba6f19cd7d6">
<!ENTITY imagemagick-size "9.9 MB">
<!ENTITY imagemagick-buildsize "194 MB (with typical dependencies; add 21 MB for checks)">
<!ENTITY imagemagick-time "1.2 SBU (with typical dependencies; add 1.0 SBU for checks, both using parallelism=4)">
]>
<!-- Editors: It is highly unlikely that the buildsize (disk space used) will
be less than the figure shown above. Unless you have installed *all* the
delegate dependencies, you will see a smaller buildsize, but what is
currently listed above is the space one would require if all the
dependencies available in the book are installed.
Marked as 'typical' because nobody builds ALL the optional extras [ken]
[bdubbs] I do; at least the internal ones. I still got only 141 MB.
[pierre 2017-02-14, v7.0.4-8]. I did too, and got 184 MB. I added the
all the corresponding switches to configure, that may make a difference.
All 6733 tests passed.
Saved the "full" 450MB as a comment - feel free to update this iff you
do build all dependencies, it's probably a lot bigger now.
[bdubbs] Just removed it. I don't think it adds anything.
[ken] Comparing 7.0.10-27 to 7.0.10-57 on the same machine: for -27 my
timings and space matched the book (well, make check was marginally
faster on this machine), but for -57 the compiled source, installed
files and extra space for make check were all much smaller.
Also, please look over the output from the configure command for any
additional dependencies that need to be listed, as ImageMagick is
constantly adding additional features and dependencies. Or diff the
configure script against the previous version.
For those of us who touch this infrequently:
DPS/dpsXclient is from apple so not relevant to linux builds
GVC is part of Graphviz and documented in the explanations
LQR is Liquid Rescale -->
<sect1 id="imagemagick" xreflabel="ImageMagick-&imagemagick-version;-&imagemagick-patch-version;">
<?dbhtml filename="imagemagick.html"?>
<title>ImageMagick-&imagemagick-version;-&imagemagick-patch-version;</title>
<indexterm zone="imagemagick">
<primary sortas="a-ImageMagick">ImageMagick</primary>
</indexterm>
<sect2 role="package">
<title>Introduction to ImageMagick</title>
<para>
<application>ImageMagick</application> 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.
</para>
&lfs112_checked;
<bridgehead renderas="sect3">Package Information</bridgehead>
<itemizedlist spacing="compact">
<listitem>
<para>
Download (HTTP): <ulink url="&imagemagick-download-http;"/></para>
</listitem>
<listitem>
<para>
Download (FTP): <ulink url="&imagemagick-download-ftp;"/></para>
</listitem>
<listitem>
<para>
Download MD5 sum: &imagemagick-md5sum;</para>
</listitem>
<listitem>
<para>
Download size: &imagemagick-size;</para>
</listitem>
<listitem>
<para>
Estimated disk space required: &imagemagick-buildsize;</para>
</listitem>
<listitem>
<para>
Estimated build time: &imagemagick-time;</para>
</listitem>
</itemizedlist>
<note>
<para>
The <application>ImageMagick</application> 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: <ulink url="ftp://ftp.osuosl.org/pub/blfs/conglomeration/ImageMagick/"/>.
</para>
</note>
<bridgehead renderas="sect3">ImageMagick Dependencies</bridgehead>
<bridgehead renderas="sect4">Recommended</bridgehead>
<para role="recommended">
<xref linkend="xorg7-lib"/>
</para>
<para>
The optional dependencies listed below should be installed if you need
support for the specific format or the conversion tool the dependency
provides. <!-- No such section in 7.1.0-4
Many of the dependencies' capabilities and uses are described in
the <quote>MAGICK DELEGATES</quote> section of the
<filename>README.txt</filename> file located in the source tree. -->
Additional information about the dependencies can be found in the
<filename>Install-unix.txt</filename> file located in the source tree as
well as issuing the <command>./configure --help</command> command. A
summary of this information, as well as some additional notes can be
viewed on-line at <ulink
url="https://imagemagick.org/script/install-source.php"/>.
</para>
<bridgehead renderas="sect4">Optional System Utilities</bridgehead>
<para role="optional">
Clang from <xref linkend="llvm"/>,
<xref linkend="cups"/>,
<xref linkend="curl"/>,
<xref linkend="ffmpeg"/>,
<xref linkend="fftw"/>,
<xref linkend="p7zip"/> (LZMA),
<xref linkend="sane"/>,
<xref linkend="wget"/>,
<xref linkend="xdg-utils"/>,
<xref linkend="xterm2"/>,
<ulink url="https://dmalloc.com/">Dmalloc</ulink>,
<ulink url="https://linux.softpedia.com/get/Programming/Debuggers/Electric-Fence-3305.shtml/">Electric Fence</ulink>,
<ulink url="https://www.openpgp.org/about/">PGP</ulink> or
<xref linkend="gnupg2"/>
(you'll have to do some hacking to use <application>GnuPG</application>),
<ulink url="https://imagemagick.org/archive/delegates/">Profiles</ulink>,
and
<ulink url="https://ufraw.sourceforge.net/">ufraw</ulink> (for raw formats
listed in
<ulink url="https://imagemagick.org/script/formats.php">
https://imagemagick.org/script/formats.php</ulink>)
</para>
<bridgehead renderas="sect4">Optional Graphics Libraries</bridgehead>
<para role="optional">
<xref linkend="jasper"/>,
<xref role="nodep" linkend="lcms"/> or
<xref linkend="lcms2"/>,
<!-- although libexif may have been used in the past, I can find no
evidence that it has been used in imagemagick-7. ken
<xref linkend="libexif"/>,-->
<xref linkend="libgxps"/>,
<xref linkend="libjpeg"/>,
<xref linkend="libpng"/>,
<xref linkend="libraw"/> (RAW_R),
<xref linkend="librsvg"/>,
<xref linkend="libtiff"/>,
<xref linkend="libwebp"/>,
<xref linkend="openjpeg2"/>,
<xref linkend="pango"/>,
<ulink url="https://djvu.sourceforge.net/">DjVuLibre</ulink>,
<ulink url="https://imagemagick.org/archive/delegates/">
FlashPIX (libfpx)</ulink>,
<ulink url="https://github.com/FLIF-hub/FLIF/releases">FLIF</ulink>,
<ulink url="https://www.cl.cam.ac.uk/~mgk25/jbigkit/">JBIG-KIT</ulink>,
<!--<ulink url="&gnome-download-http;/libgxps/">libgxps</ulink>,-->
<ulink url="https://github.com/strukturag/libheif/">libheif</ulink> with
<ulink url="https://github.com/strukturag/libde265/">libde265</ulink>
(both needed if converting macOS heic images),
<ulink url="https://github.com/libjxl/libjxl/">libjxl</ulink>,
<ulink url="https://github.com/HOST-Oman/libraqm/">libraqm</ulink>,
<ulink url="http://liblqr.wikidot.com/en:download-page">Liquid Rescale</ulink>,
<ulink url="https://www.openexr.com/">OpenEXR</ulink>, and
<ulink url="http://www.agocg.ac.uk/train/cgm/ralcgm.htm">RALCGM</ulink>
(or <ulink url="http://www.mcmurchy.com/ralcgm/ralcgm-3.51.tar.gz">ralcgm</ulink>)
</para>
<bridgehead renderas="sect4">Optional Graphics Utilities</bridgehead>
<para role="optional">
<xref linkend="dejavu-fonts"/>,
<xref linkend="gs"/>,
<xref linkend="gimp"/>,
<xref linkend="graphviz"/>,
<xref linkend="inkscape"/>,
<ulink url="https://www.blender.org/">Blender</ulink>,
<ulink url="https://corefonts.sourceforge.net/">corefonts</ulink>,
<ulink url="https://ghostscript.com/releases/gpcldnld.html">GhostPCL</ulink>,
<ulink url="http://www.gnuplot.info/">Gnuplot</ulink>,
<ulink url="https://www.povray.org/">POV-Ray</ulink>, and
<ulink url="https://www.radiance-online.org/">Radiance</ulink>
</para>
<bridgehead renderas="sect4">Optional Conversion Tools</bridgehead>
<para role="optional">
<xref linkend="enscript"/>,
<xref linkend="texlive"/> (or <xref linkend="tl-installer"/>)
<ulink url="https://autotrace.sourceforge.net/">AutoTrace</ulink>,
<ulink url="https://www.extensis.com/">
GeoExpress Command Line Utilities, AKA MrSID Utilities (binary package)</ulink>,
<ulink url="https://www.gnu.org/software/hp2xx/">hp2xx</ulink>,
<!-- not accessible
<ulink url="https://user.it.uu.se/~jan/html2ps.html">html2ps</ulink>,
-->
<ulink url="https://wvware.sourceforge.net/">libwmf</ulink>,
<ulink url="https://sk1project.net/uc2/">
UniConvertor</ulink>, and
<ulink url="https://www.cs.utah.edu/gdc/projects/urt/">Utah Raster Toolkit</ulink>
(or <ulink url="http://www.mcmurchy.com/urt/urt-3.1b.tar.gz">URT-3.1b</ulink>)
</para>
<para condition="html" role="usernotes">User Notes:
<ulink url="&blfs-wiki;/imagemagick"/></para>
</sect2>
<sect2 role="installation">
<title>Installation of ImageMagick</title>
<para>
Install <application>ImageMagick</application> by running the following
commands:
</para>
<screen><userinput>./configure --prefix=/usr \
--sysconfdir=/etc \
--enable-hdri \
--with-modules \
--with-perl \
--disable-static &amp;&amp;
make</userinput></screen>
<para>
Now, as the <systemitem class="username">root</systemitem> user:
</para>
<screen role="root"><userinput>make DOCUMENTATION_PATH=/usr/share/doc/imagemagick-&imagemagick-version; install</userinput></screen>
<para>
To test the installation, issue: <command>make check</command>.
<!-- seems to have been dropped A more
comprehensive test is the <application>ImageMagick</application>
validation suite. If <command>make check</command> has not been executed,
run <command>make tests/validate</command> to compile it. Issue
<command>tests/validate 2>&amp;1 | tee validate.log</command> to run the
validation suite.--> <!-- summary is last line of output
The result summary may be obtained with <command>grep
"validation suite" validate.log</command>. -->
<!-- I'm not convinced that Helvetica is required, I don't install the gs
fonts. But lots of references to it. Surely fontconfig provides it? ken -->
Note that the EPS, PS, and PDF
tests require a working <application>Ghostscript</application>. One test
in 'make check' needs <quote>Helvetica</quote> from <quote>Ghostscript
Standard Fonts</quote>, which are optionally installed in
<xref linkend="gs"/> - that test, and one other, might fail, but all the
validation can still pass.
</para>
</sect2>
<sect2 role="commands">
<title>Command Explanations</title>
<para>
<parameter>--enable-hdri</parameter>: Enables building of a
high dynamic range version of ImageMagick.
</para>
<para>
<parameter>--with-modules</parameter>: Enables support for
dynamically loadable modules.
</para>
<para>
<parameter>--with-perl</parameter>: Enables building and
installing of PerlMagick.
</para>
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
href="../../xincludes/static-libraries.xml"/>
<para>
<option>--with-gslib</option>: Enables support to use the
<application>Ghostscript</application> shared library.
</para>
<para>
<option>--with-rsvg</option>: Enables support to use the
<application>librsvg</application> library.
</para>
<para>
<option>--with-autotrace</option>: Enables support to use
the <application>Autotrace</application> library.
</para>
<para>
<option>--with-wmf</option>: Enables support to use the
<application>libwmf</application> library.
</para>
<para>
<option>--with-gvc</option>: Enables support to use
<application>GraphViz</application>.
</para>
<para>
<option>--with-windows-font-dir=
<replaceable>&lt;Some/Directory&gt;</replaceable></option>:
This option specifies the directory where the Windows CoreFonts are
installed.
</para>
<para>
<option>--with-dejavu-font-dir=
<replaceable>&lt;Some/Directory&gt;</replaceable></option>:
This option specifies the directory where the DejaVu fonts are
installed.
</para>
<para>
The options and parameters listed above are the only ones you should
have to pass to the <command>configure</command> script to activate all
the delegate dependencies. All other dependencies will be automatically
detected and utilized in the build if they are installed.
</para>
</sect2>
<sect2 role="content">
<title>Contents</title>
<segmentedlist>
<segtitle>Installed Programs</segtitle>
<segtitle>Installed Libraries</segtitle>
<segtitle>Installed Directories</segtitle>
<seglistitem>
<seg>
magick, Magick++-config, MagickCore-config, and MagickWand-config.
(animate, compare, composite, conjure, convert, display,
identify, import, magick-script, mogrify, montage, and stream
are all symbolic links to magick)
</seg>
<seg>
libMagickCore-7.Q16HDRI.so,
libMagickWand-7.Q16HDRI.so and
libMagick++-7.Q16HDRI.so
</seg>
<seg>
/etc/ImageMagick-7,
/usr/include/ImageMagick-7,
/usr/lib/ImageMagick-&imagemagick-version;,
/usr/lib/perl5/site_perl/&lfs-perl-version;/{,auto}/Image/Magick,
/usr/share/doc/ImageMagick-&imagemagick-version;, and
/usr/share/ImageMagick-7
</seg>
</seglistitem>
</segmentedlist>
<variablelist>
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<varlistentry id="animate">
<term><command>animate</command></term>
<listitem>
<para>
animates a sequence of images
</para>
<indexterm zone="imagemagick animate">
<primary sortas="b-animate">animate</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="compare">
<term><command>compare</command></term>
<listitem>
<para>
compares an image to a reconstructed image
</para>
<indexterm zone="imagemagick compare">
<primary sortas="b-compare">compare</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="composite">
<term><command>composite</command></term>
<listitem>
<para>
composites various images into the given base image
</para>
<indexterm zone="imagemagick composite">
<primary sortas="b-composite">composite</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="conjure">
<term><command>conjure</command></term>
<listitem>
<para>
processes a MSL script to create an image
</para>
<indexterm zone="imagemagick conjure">
<primary sortas="b-conjure">conjure</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="convert">
<term><command>convert</command></term>
<listitem>
<para>
converts image(s) from one format to another
</para>
<indexterm zone="imagemagick convert">
<primary sortas="b-convert">convert</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="display">
<term><command>display</command></term>
<listitem>
<para>
displays an image
</para>
<indexterm zone="imagemagick display">
<primary sortas="b-display">display</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="identify">
<term><command>identify</command></term>
<listitem>
<para>
describes the format and characteristics of an image file
</para>
<indexterm zone="imagemagick identify">
<primary sortas="b-identify">identify</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="import">
<term><command>import</command></term>
<listitem>
<para>
captures an X window
</para>
<indexterm zone="imagemagick import">
<primary sortas="b-import">import</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="magick">
<term><command>magick</command></term>
<listitem>
<para>
convert between image formats as well as resize an image,
blur, crop, despeckle, dither, draw on, flip, join, re-sample
and much more
</para>
<indexterm zone="imagemagick magick">
<primary sortas="b-magick">magick</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="magick-config">
<term><command>Magick{++,Core,Wand}-config</command></term>
<listitem>
<para>
show information about the installed versions of the
<application>ImageMagick</application> libraries
</para>
<indexterm zone="imagemagick magick-config">
<primary sortas="b-Magick-config">Magick-config</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="mogrify">
<term><command>mogrify</command></term>
<listitem>
<para>
transforms an image
</para>
<indexterm zone="imagemagick mogrify">
<primary sortas="b-mogrify">mogrify</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="montage">
<term><command>montage</command></term>
<listitem>
<para>
composites various images into a new image
</para>
<indexterm zone="imagemagick montage">
<primary sortas="b-montage">montage</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="stream">
<term><command>stream</command></term>
<listitem>
<para>
streams one or more pixel components of an image or
portion of the image to your choice of storage formats
</para>
<indexterm zone="imagemagick stream">
<primary sortas="b-stream">stream</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="perlmagick">
<term><filename class="libraryfile">Image::Magick</filename></term>
<listitem>
<para>
allows the reading, manipulation and writing of a large number of
image file formats using the <application>ImageMagick</application>
library. Run <command>make</command> in the
<filename class="directory">PerlMagick/demo</filename> directory of
the package source tree after the package is installed to see a nice
demo of the module's capabilities
</para>
<indexterm zone="imagemagick perlmagick">
<primary sortas="g-Image-Magick">Image::Magick</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="libMagickCore-7.Q16HDRI">
<term><filename class="libraryfile">libMagickCore-7.Q16HDRI.so</filename></term>
<listitem>
<para>
provides the C API for ImageMagick
</para>
<indexterm zone="imagemagick libMagickCore-7.Q16HDRI">
<primary sortas="c-libMagickCore-7.Q16HDRI">libMagickCore-7.Q16HDRI.so</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="libMagickWand-7.Q16HDRI">
<term><filename class="libraryfile">libMagickWand-7.Q16HDRI.so</filename></term>
<listitem>
<para>
is the recommended C API for ImageMagick. Unlike the MagickCore API it
uses only a few opaque types
</para>
<indexterm zone="imagemagick libMagickWand-7.Q16HDRI">
<primary sortas="c-libMagickWand-7.Q16HDRI">libMagickWand-7.Q16HDRI.so</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="libMagickpp-7.Q16HDRI">
<term><filename class="libraryfile">libMagick++-7.Q16HDRI.so</filename></term>
<listitem>
<para>
provides the C++ API for ImageMagick
</para>
<indexterm zone="imagemagick libMagickpp-7.Q16HDRI">
<primary sortas="c-libMagick++-7.Q16HDRI">libMagick++-7.Q16HDRI.so</primary>
</indexterm>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>