source: general/genutils/imagemagick.xml

trunk
Last change on this file was 9df3180d, checked in by Douglas R. Reno <renodr@…>, 2 weeks ago

ImageMagick: make the libjxl dependency internal

  • Property mode set to 100644
File size: 22.5 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!ENTITY imagemagick-patch-version "28">
8
9 <!ENTITY imagemagick-download-http "https://www.imagemagick.org/archive/releases/ImageMagick-&imagemagick-version;-&imagemagick-patch-version;.tar.xz">
10 <!ENTITY imagemagick-download-ftp " ">
11 <!ENTITY imagemagick-md5sum "954931222003bbc79c976db4d79e934c">
12 <!ENTITY imagemagick-size "11 MB">
13 <!ENTITY imagemagick-buildsize "210 MB, 45 MB installed (with typical dependencies; add 10 MB for checks)">
14 <!ENTITY imagemagick-time "0.7 SBU (with typical dependencies; add 0.7 SBU for checks, both using parallelism=4)">
15]>
16
17<!-- Editors: It is highly unlikely that the buildsize (disk space used) will
18 be less than the figure shown above. Unless you have installed *all* the
19 delegate dependencies, you will see a smaller buildsize, but what is
20 currently listed above is the space one would require if all the
21 dependencies available in the book are installed.
22
23 Marked as 'typical' because nobody builds ALL the optional extras [ken]
24
25 [bdubbs] I do; at least the internal ones. I still got only 141 MB.
26
27 [pierre 2017-02-14, v7.0.4-8]. I did too, and got 184 MB. I added the
28 all the corresponding switches to configure, that may make a difference.
29 All 6733 tests passed.
30
31 Saved the "full" 450MB as a comment - feel free to update this iff you
32 do build all dependencies, it's probably a lot bigger now.
33
34 [bdubbs] Just removed it. I don't think it adds anything.
35
36 [ken] Comparing 7.0.10-27 to 7.0.10-57 on the same machine: for -27 my
37 timings and space matched the book (well, make check was marginally
38 faster on this machine), but for -57 the compiled source, installed
39 files and extra space for make check were all much smaller.
40
41 Also, please look over the output from the configure command for any
42 additional dependencies that need to be listed, as ImageMagick is
43 constantly adding additional features and dependencies. Or diff the
44 configure script against the previous version.
45
46 For those of us who touch this infrequently:
47 DPS/dpsXclient is from apple so not relevant to linux builds
48 GVC is part of Graphviz and documented in the explanations
49 iLQR is Liquid Rescale
50 ufraw-batch (ufraw) is unmaintained and does not build with current exiv2 -->
51
52<sect1 id="imagemagick" xreflabel="ImageMagick-&imagemagick-version;-&imagemagick-patch-version;">
53 <?dbhtml filename="imagemagick.html"?>
54
55
56 <title>ImageMagick-&imagemagick-version;-&imagemagick-patch-version;</title>
57
58 <indexterm zone="imagemagick">
59 <primary sortas="a-ImageMagick">ImageMagick</primary>
60 </indexterm>
61
62 <sect2 role="package">
63 <title>Introduction to ImageMagick</title>
64
65 <para>
66 <application>ImageMagick</application> is a collection of tools and
67 libraries to read, write, and manipulate an image in various image
68 formats. Image processing operations are available from the command line.
69 Bindings for Perl and C++ are also available.
70 </para>
71
72 &lfs121_checked;
73
74 <bridgehead renderas="sect3">Package Information</bridgehead>
75 <itemizedlist spacing="compact">
76 <listitem>
77 <para>
78 Download (HTTP): <ulink url="&imagemagick-download-http;"/></para>
79 </listitem>
80 <listitem>
81 <para>
82 Download (FTP): <ulink url="&imagemagick-download-ftp;"/></para>
83 </listitem>
84 <listitem>
85 <para>
86 Download MD5 sum: &imagemagick-md5sum;</para>
87 </listitem>
88 <listitem>
89 <para>
90 Download size: &imagemagick-size;</para>
91 </listitem>
92 <listitem>
93 <para>
94 Estimated disk space required: &imagemagick-buildsize;</para>
95 </listitem>
96 <listitem>
97 <para>
98 Estimated build time: &imagemagick-time;</para>
99 </listitem>
100 </itemizedlist>
101
102 <note>
103 <para>
104 The <application>ImageMagick</application> source releases are updated
105 frequently and the version shown above may no longer be available from
106 the download locations. You can download a more recent version and use
107 the existing BLFS instructions to install it. Chances are that it will
108 work just fine, but this has not been tested by the BLFS team. If the
109 package version shown above is not available from the locations shown
110 above, you can download it from the BLFS package server at Oregon State
111 University: <ulink url="https://ftp.osuosl.org/pub/blfs/conglomeration/ImageMagick/"/>.
112 </para>
113 </note>
114
115 <bridgehead renderas="sect3">ImageMagick Dependencies</bridgehead>
116
117 <bridgehead renderas="sect4">Recommended</bridgehead>
118 <para role="recommended">
119 <xref linkend="xorg7-lib"/>
120 </para>
121
122 <para>
123 The optional dependencies listed below should be installed if you need
124 support for the specific format or the conversion tool the dependency
125 provides. <!-- No such section in 7.1.0-4
126 Many of the dependencies' capabilities and uses are described in
127 the <quote>MAGICK DELEGATES</quote> section of the
128 <filename>README.txt</filename> file located in the source tree. -->
129 Additional information about the dependencies can be found in the
130 <filename>Install-unix.txt</filename> file located in the source tree as
131 well as issuing the <command>./configure --help</command> command. A
132 summary of this information, as well as some additional notes can be
133 viewed on-line at <ulink
134 url="https://imagemagick.org/script/install-source.php"/>.
135 </para>
136
137 <bridgehead renderas="sect4">Optional System Utilities</bridgehead>
138 <para role="optional">
139 Clang from <xref linkend="llvm"/>,
140 <xref linkend="cups"/>,
141 <xref linkend="curl"/>,
142 <xref linkend="ffmpeg"/>,
143 <xref linkend="fftw"/>,
144 <xref linkend="p7zip"/> (LZMA),
145 <xref linkend="sane"/>,
146 <xref linkend="wget"/>,
147 <xref linkend="xdg-utils"/>,
148 <xref linkend="xterm2"/>,
149 <ulink url="https://dmalloc.com/">Dmalloc</ulink>,
150 <ulink url="https://linux.softpedia.com/get/Programming/Debuggers/Electric-Fence-3305.shtml/">Electric Fence</ulink> and
151 <ulink url="https://www.openpgp.org/about/">PGP</ulink> or
152 <xref linkend="gnupg2"/>
153 (you'll have to do some hacking to use <application>GnuPG</application>),
154 <ulink url="https://imagemagick.org/archive/delegates/">Profiles</ulink>
155 </para>
156
157 <bridgehead renderas="sect4">Optional Graphics Libraries</bridgehead>
158 <para role="optional">
159 <xref linkend="jasper"/>,
160 <xref linkend="lcms2"/>,
161 <!-- although libexif may have been used in the past, I can find no
162 evidence that it has been used in imagemagick-7. ken
163 <xref linkend="libexif"/>,-->
164 <xref linkend="libgxps"/>,
165 <xref linkend="libjpeg"/>,
166 <xref linkend="libjxl"/>,
167 <xref linkend="libpng"/>,
168 <xref linkend="libraw"/> (for dng files, needs the thread-safe libraw_r),
169 <xref linkend="librsvg"/>,
170 <xref linkend="libtiff"/>,
171 <xref linkend="libwebp"/>,
172 <xref linkend="openjpeg2"/>,
173 <xref linkend="pango"/>,
174 <ulink url="https://djvu.sourceforge.net/">DjVuLibre</ulink>,
175 <ulink url="https://imagemagick.org/archive/delegates/">
176 FlashPIX (libfpx)</ulink>,
177 <ulink url="https://github.com/FLIF-hub/FLIF/releases">FLIF</ulink>,
178 <ulink url="https://www.cl.cam.ac.uk/~mgk25/jbigkit/">JBIG-KIT</ulink>,
179 <!--<ulink url="&gnome-download-http;/libgxps/">libgxps</ulink>,-->
180 <ulink url="https://github.com/strukturag/libheif/">libheif</ulink> with
181 <ulink url="https://github.com/strukturag/libde265/">libde265</ulink>
182 (both needed if converting macOS heic images),
183 <!--<ulink url="https://github.com/libjxl/libjxl/">libjxl</ulink>,-->
184 <ulink url="https://github.com/HOST-Oman/libraqm/">libraqm</ulink>,
185 <ulink url="http://liblqr.wikidot.com/en:download-page">Liquid Rescale</ulink>,
186 <ulink url="https://www.openexr.com/">OpenEXR</ulink>, and
187 <ulink url="http://www.agocg.ac.uk/train/cgm/ralcgm.htm">RALCGM</ulink>
188 (or <ulink url="http://www.mcmurchy.com/ralcgm/ralcgm-3.51.tar.gz">ralcgm</ulink>)
189 </para>
190
191 <bridgehead renderas="sect4">Optional Graphics Utilities</bridgehead>
192 <para role="optional">
193 <xref linkend="dejavu-fonts"/>,
194 <xref linkend="gs"/>,
195 <xref linkend="gimp"/>,
196 <xref linkend="graphviz"/>,
197 <xref linkend="inkscape"/>,
198 <ulink url="https://www.blender.org/">Blender</ulink>,
199 <ulink url="https://corefonts.sourceforge.net/">corefonts</ulink>,
200 <ulink url="https://ghostscript.com/releases/gpcldnld.html">GhostPCL</ulink>,
201 <ulink url="http://www.gnuplot.info/">Gnuplot</ulink>,
202 <ulink url="https://www.povray.org/">POV-Ray</ulink>, and
203 <ulink url="https://www.radiance-online.org/">Radiance</ulink>
204 </para>
205
206 <bridgehead renderas="sect4">Optional Conversion Tools</bridgehead>
207 <para role="optional">
208 <xref linkend="enscript"/>,
209 <xref linkend="potrace"/>,
210 <xref linkend="texlive"/> (or <xref linkend="tl-installer"/>)
211 <ulink url="https://autotrace.sourceforge.net/">AutoTrace</ulink>,
212 <ulink url="https://www.extensis.com/">
213 GeoExpress Command Line Utilities, AKA MrSID Utilities (binary package)</ulink>,
214 <ulink url="https://www.gnu.org/software/hp2xx/">hp2xx</ulink>,
215 <!-- not accessible
216 <ulink url="https://user.it.uu.se/~jan/html2ps.html">html2ps</ulink>,
217 -->
218 <ulink url="https://wvware.sourceforge.net/">libwmf</ulink>,
219 <ulink url="https://sk1project.net/uc2/">
220 UniConvertor</ulink>,
221 <!-- ufraw-batch was a delegate program, the delegate library coders/dng.so
222 is used if librar_r is present, ufraw now ftbfs with exiv2-0.28, and IM-7.1.1
223 in any case (if no libraw) invokes it to ask for a temp png file, but then
224 tries to open the temp file using a ppm suffix, which of course fails.
225 <ulink url="https://ufraw.sourceforge.net/">ufraw</ulink> (for dng files,
226 see
227 <ulink url="https://imagemagick.org/script/formats.php">
228 https://imagemagick.org/script/formats.php</ulink> for some special switches)
229 -->
230 and
231 <ulink url="https://www.cs.utah.edu/gdc/projects/urt/">Utah Raster Toolkit</ulink>
232 (or <ulink url="http://www.mcmurchy.com/urt/urt-3.1b.tar.gz">URT-3.1b</ulink>)
233 </para>
234
235 </sect2>
236
237 <sect2 role="installation">
238 <title>Installation of ImageMagick</title>
239
240 <para>
241 Install <application>ImageMagick</application> by running the following
242 commands:
243 </para>
244
245<screen><userinput>./configure --prefix=/usr \
246 --sysconfdir=/etc \
247 --enable-hdri \
248 --with-modules \
249 --with-perl \
250 --disable-static &amp;&amp;
251make</userinput></screen>
252
253 <para>
254 Now, as the <systemitem class="username">root</systemitem> user:
255 </para>
256
257<screen role="root"><userinput>make DOCUMENTATION_PATH=/usr/share/doc/imagemagick-&imagemagick-version; install</userinput></screen>
258
259 <para>
260 To test the installation, issue: <command>make check</command>.
261 <!-- seems to have been dropped A more
262 comprehensive test is the <application>ImageMagick</application>
263 validation suite. If <command>make check</command> has not been executed,
264 run <command>make tests/validate</command> to compile it. Issue
265 <command>tests/validate 2>&amp;1 | tee validate.log</command> to run the
266 validation suite.--> <!-- summary is last line of output
267 The result summary may be obtained with <command>grep
268 "validation suite" validate.log</command>. -->
269 <!-- I'm not convinced that Helvetica is required, I don't install the gs
270 fonts. But lots of references to it. Surely fontconfig provides it? ken -->
271 Note that the EPS, PS, and PDF
272 tests require a working <application>Ghostscript</application>. One test
273 in 'make check' needs <quote>Helvetica</quote> from <quote>Ghostscript
274 Standard Fonts</quote>, which are optionally installed in
275 <xref linkend="gs"/> - that test, and one other, might fail, but all the
276 validation can still pass.
277 </para>
278
279 </sect2>
280
281 <sect2 role="commands">
282 <title>Command Explanations</title>
283
284 <para>
285 <parameter>--enable-hdri</parameter>: Enables building of a
286 high dynamic range version of ImageMagick.
287 </para>
288
289 <para>
290 <parameter>--with-modules</parameter>: Enables support for
291 dynamically loadable modules.
292 </para>
293
294 <para>
295 <parameter>--with-perl</parameter>: Enables building and
296 installing of PerlMagick.
297 </para>
298
299 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
300 href="../../xincludes/static-libraries.xml"/>
301
302 <para>
303 <option>--with-fftw</option>: Enables support for the
304 <application>FFTW</application> shared library.
305 </para>
306
307 <para>
308 <option>--with-rsvg</option>: Enables support for the
309 <application>librsvg</application> library.
310 </para>
311
312 <para>
313 <option>--with-autotrace</option>: Enables support for
314 the <application>Autotrace</application> library.
315 </para>
316
317 <para>
318 <option>--with-wmf</option>: Enables support for the
319 <application>libwmf</application> library.
320 </para>
321
322 <para>
323 <option>--with-gvc</option>: Enables support for
324 <application>GraphViz</application>.
325 </para>
326
327 <para>
328 <option>--with-security-policy=open|limited|secure|websafe</option>:
329 If you wish to enforce a policy other than the default 'open' see
330 <filename>www/security-policy.html</filename> in the source for
331 details.
332 </para>
333
334 <para>
335 <option>--with-windows-font-dir=
336 <replaceable>&lt;Some/Directory&gt;</replaceable></option>:
337 This option specifies the directory where the Windows CoreFonts are
338 installed.
339 </para>
340
341 <para>
342 <option>--with-dejavu-font-dir=
343 <replaceable>&lt;Some/Directory&gt;</replaceable></option>:
344 This option specifies the directory where the DejaVu fonts are
345 installed.
346 </para>
347
348 <para>
349 The options and parameters listed above are the only ones you should
350 have to pass to the <command>configure</command> script to activate all
351 the delegate dependencies. All other dependencies will be automatically
352 detected and utilized in the build if they are installed.
353 </para>
354
355 </sect2>
356
357 <sect2 role="content">
358 <title>Contents</title>
359
360 <segmentedlist>
361 <segtitle>Installed Programs</segtitle>
362 <segtitle>Installed Libraries</segtitle>
363 <segtitle>Installed Directories</segtitle>
364
365 <seglistitem>
366 <seg>
367 magick, Magick++-config, MagickCore-config, and MagickWand-config.
368 (animate, compare, composite, conjure, convert, display,
369 identify, import, magick-script, mogrify, montage, and stream
370 are all symbolic links to magick)
371 </seg>
372 <seg>
373 libMagickCore-7.Q16HDRI.so,
374 libMagickWand-7.Q16HDRI.so and
375 libMagick++-7.Q16HDRI.so
376 </seg>
377 <seg>
378 /etc/ImageMagick-7,
379 /usr/include/ImageMagick-7,
380 /usr/lib/ImageMagick-&imagemagick-version;,
381 /usr/lib/perl5/site_perl/&lfs-perl-version;/{,auto}/Image/Magick,
382 /usr/share/doc/ImageMagick-&imagemagick-version;, and
383 /usr/share/ImageMagick-7
384 </seg>
385 </seglistitem>
386 </segmentedlist>
387
388 <variablelist>
389 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
390 <?dbfo list-presentation="list"?>
391 <?dbhtml list-presentation="table"?>
392
393 <varlistentry id="animate">
394 <term><command>animate</command></term>
395 <listitem>
396 <para>
397 animates a sequence of images
398 </para>
399 <indexterm zone="imagemagick animate">
400 <primary sortas="b-animate">animate</primary>
401 </indexterm>
402 </listitem>
403 </varlistentry>
404
405 <varlistentry id="compare">
406 <term><command>compare</command></term>
407 <listitem>
408 <para>
409 compares an image to a reconstructed image
410 </para>
411 <indexterm zone="imagemagick compare">
412 <primary sortas="b-compare">compare</primary>
413 </indexterm>
414 </listitem>
415 </varlistentry>
416
417 <varlistentry id="composite">
418 <term><command>composite</command></term>
419 <listitem>
420 <para>
421 composites various images into the given base image
422 </para>
423 <indexterm zone="imagemagick composite">
424 <primary sortas="b-composite">composite</primary>
425 </indexterm>
426 </listitem>
427 </varlistentry>
428
429 <varlistentry id="conjure">
430 <term><command>conjure</command></term>
431 <listitem>
432 <para>
433 processes a MSL script to create an image
434 </para>
435 <indexterm zone="imagemagick conjure">
436 <primary sortas="b-conjure">conjure</primary>
437 </indexterm>
438 </listitem>
439 </varlistentry>
440
441 <varlistentry id="convert">
442 <term><command>convert</command></term>
443 <listitem>
444 <para>
445 converts image(s) from one format to another
446 </para>
447 <indexterm zone="imagemagick convert">
448 <primary sortas="b-convert">convert</primary>
449 </indexterm>
450 </listitem>
451 </varlistentry>
452
453 <varlistentry id="display">
454 <term><command>display</command></term>
455 <listitem>
456 <para>
457 displays an image
458 </para>
459 <indexterm zone="imagemagick display">
460 <primary sortas="b-display">display</primary>
461 </indexterm>
462 </listitem>
463 </varlistentry>
464
465 <varlistentry id="identify">
466 <term><command>identify</command></term>
467 <listitem>
468 <para>
469 describes the format and characteristics of an image file
470 </para>
471 <indexterm zone="imagemagick identify">
472 <primary sortas="b-identify">identify</primary>
473 </indexterm>
474 </listitem>
475 </varlistentry>
476
477 <varlistentry id="import">
478 <term><command>import</command></term>
479 <listitem>
480 <para>
481 captures an X window
482 </para>
483 <indexterm zone="imagemagick import">
484 <primary sortas="b-import">import</primary>
485 </indexterm>
486 </listitem>
487 </varlistentry>
488
489 <varlistentry id="magick">
490 <term><command>magick</command></term>
491 <listitem>
492 <para>
493 convert between image formats as well as resize an image,
494 blur, crop, despeckle, dither, draw on, flip, join, re-sample
495 and much more
496 </para>
497 <indexterm zone="imagemagick magick">
498 <primary sortas="b-magick">magick</primary>
499 </indexterm>
500 </listitem>
501 </varlistentry>
502
503 <varlistentry id="magick-config">
504 <term><command>Magick{++,Core,Wand}-config</command></term>
505 <listitem>
506 <para>
507 show information about the installed versions of the
508 <application>ImageMagick</application> libraries
509 </para>
510 <indexterm zone="imagemagick magick-config">
511 <primary sortas="b-Magick-config">Magick-config</primary>
512 </indexterm>
513 </listitem>
514 </varlistentry>
515
516 <varlistentry id="mogrify">
517 <term><command>mogrify</command></term>
518 <listitem>
519 <para>
520 transforms an image
521 </para>
522 <indexterm zone="imagemagick mogrify">
523 <primary sortas="b-mogrify">mogrify</primary>
524 </indexterm>
525 </listitem>
526 </varlistentry>
527
528 <varlistentry id="montage">
529 <term><command>montage</command></term>
530 <listitem>
531 <para>
532 composites various images into a new image
533 </para>
534 <indexterm zone="imagemagick montage">
535 <primary sortas="b-montage">montage</primary>
536 </indexterm>
537 </listitem>
538 </varlistentry>
539
540 <varlistentry id="stream">
541 <term><command>stream</command></term>
542 <listitem>
543 <para>
544 streams one or more pixel components of an image or
545 portion of the image to your choice of storage formats
546 </para>
547 <indexterm zone="imagemagick stream">
548 <primary sortas="b-stream">stream</primary>
549 </indexterm>
550 </listitem>
551 </varlistentry>
552
553 <varlistentry id="perlmagick">
554 <term><filename class="libraryfile">Image::Magick</filename></term>
555 <listitem>
556 <para>
557 allows the reading, manipulation and writing of a large number of
558 image file formats using the <application>ImageMagick</application>
559 library. Run <command>make</command> in the
560 <filename class="directory">PerlMagick/demo</filename> directory of
561 the package source tree after the package is installed to see a nice
562 demo of the module's capabilities
563 </para>
564 <indexterm zone="imagemagick perlmagick">
565 <primary sortas="g-Image-Magick">Image::Magick</primary>
566 </indexterm>
567 </listitem>
568 </varlistentry>
569
570 <varlistentry id="libMagickCore-7.Q16HDRI">
571 <term><filename class="libraryfile">libMagickCore-7.Q16HDRI.so</filename></term>
572 <listitem>
573 <para>
574 provides the C API for ImageMagick
575 </para>
576 <indexterm zone="imagemagick libMagickCore-7.Q16HDRI">
577 <primary sortas="c-libMagickCore-7.Q16HDRI">libMagickCore-7.Q16HDRI.so</primary>
578 </indexterm>
579 </listitem>
580 </varlistentry>
581
582 <varlistentry id="libMagickWand-7.Q16HDRI">
583 <term><filename class="libraryfile">libMagickWand-7.Q16HDRI.so</filename></term>
584 <listitem>
585 <para>
586 is the recommended C API for ImageMagick. Unlike the MagickCore API it
587 uses only a few opaque types
588 </para>
589 <indexterm zone="imagemagick libMagickWand-7.Q16HDRI">
590 <primary sortas="c-libMagickWand-7.Q16HDRI">libMagickWand-7.Q16HDRI.so</primary>
591 </indexterm>
592 </listitem>
593 </varlistentry>
594
595 <varlistentry id="libMagickpp-7.Q16HDRI">
596 <term><filename class="libraryfile">libMagick++-7.Q16HDRI.so</filename></term>
597 <listitem>
598 <para>
599 provides the C++ API for ImageMagick
600 </para>
601 <indexterm zone="imagemagick libMagickpp-7.Q16HDRI">
602 <primary sortas="c-libMagick++-7.Q16HDRI">libMagick++-7.Q16HDRI.so</primary>
603 </indexterm>
604 </listitem>
605 </varlistentry>
606
607 </variablelist>
608
609 </sect2>
610
611</sect1>
Note: See TracBrowser for help on using the repository browser.