"I swear by my life and my love of it that I will never live for the sake of another man, nor ask another man to live for mine"John Galt in Atlas Shrugged, by Ayn Rand
John Cristy P.O. Box 40 Landenberg, PA 19350 USA
I want ImageMagick to be of high quality, so if you encounter a problem I will investigate. However, be sure you are using the most recent version from 204.183.81.131, or a mirror site, before submitting any bug reports or suggestions.
image/*; display %s
subscribe magickto majordomo@wizards.dupont.com. You will receive a welcome message which tells you how to post messages to the list magick@wizards.dupont.com.
gunzip ImageMagick-4.1.3.tar.gz tar xvf ImageMagick-4.1.3.tar cd ImageMagick
There are currently two mechanisms available to create makefiles to build ImageMagick:
This option is easiest to use and is recommended when ImageMagick is to be installed outside of the X11 distribution or working imake configuration files are not available. Use of configure enables automated configuration, building, and installation of PerlMagick. If you are willing to accept configure's default options, type:
./configure
and watch the configure script output to verify that it finds everything that you think it should. If it does not, then adjust your environment so that it does.
If you are not happy with configure's choice of compiler, compilation flags, or libraries, you can give configure initial values for variables by setting them in the environment. Using a Bourne-compatible shell, you can do that on the command line like this:
CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
Or on systems that have the env program, you can do it like this
env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
The configure variables you should be aware of are:
CC Name of C compiler (e.g. 'cc -Xa') to use CFLAGS Compiler flags (e.g. '-g -O2') to compile with CPPFLAGS Include paths (-I/somedir) to look for header files LDFLAGS Library paths (-L/somedir) to look for libraries Systems that support the notion of a library run-path may additionally require -R/somedir or '-rpath /somedir' in order to find shared libraries at run time. LIBS Extra libraries (-lsomelib) required to link
Any variable (e.g. CPPFLAGS or LDFLAGS) which requires a directory path must specify an absolute path rather than a relative path.
By default, make install will install the package's files in /usr/local/bin, /usr/local/man, etc. You can specify an installation prefix other than /usr/local by giving configure the option --prefix=PATH.
Configure can usually find the X include and library files automatically, but if it doesn't, you can use the configure options --x-includes=DIR and --x-libraries=DIR to specify their locations.
The configure script provides a number of ImageMagick specific options. When disabling an option --disable-something is equivalent to specifying --enable-something=no and --without-something is equivalent to --with-something=no. The configure options are as follows (execute configure --help to see all options).
--enable-shared build shared libraries (default is no) --enable-static build static libraries (default is yes) --enable-lzw enable LZW support (default is no) --enable-16bit-pixel enable 16 bit pixels (default is no) --enable-socks enable use of SOCKS 5 library and 'rftp' --with-perl enable build/install of PerlMagick (default is yes) --with-bzlib enable BZlib (default is yes) --with-dps enable Display Postscript (default is yes) --with-fpx enable FlashPIX (default is yes) --with-hdf enable HDF (default is yes) --with-jbig enable JBIG (default is yes) --with-jpeg enable JPEG (default is yes) --with-png enable PNG (default is yes) --with-tiff enable TIFF (default is yes) --with-ttf enable TrueType (default is yes) --with-zlib enable Zlib (default is yes) --with-x use the X Window SystemImageMagick options represent either features to be enabled or packages to be included in the build. When a feature is enabled (via --enable-something), it enables code already present in ImageMagick. When a package is enabled (via --with-something), the configure script will search for it, and if is is properly installed and ready to use (headers and built libraries are found by compiler) it will be included in the build. The configure script is delivered with all features disabled and all packages enabled. In general, the only reason to disable a package is if a package exists but it is unsuitable for the build (perhaps an old versionor not compiled with the right compilation flags).
Several configure options require special note:
ImageMagick built with delegates (see Delegates below) can pose additional challenges. You can build all the delegates statically and link them into the ImageMagick shared library (i.e. libMagick.so) or alternatively you can build the delegates as shared libraries (some systems already have delegates installed as shared libraries). Shared libraries compilation flags differ from vendor to vendor (gcc's is -fPIC). However, you must compile all shared library source with the same flag (for gcc use -fPIC rather than -fpic).
Dealing with configuration failures While configure is designed to ease installation of ImageMagick, it often discovers problems that would otherwise be encountered later when compiling ImageMagick. The configure script tests for headers and libraries by executing the compiler (CC) with the specified compilation flags (CFLAGS), pre-processor flags (CPPFLAGS), and linker flags (LDFLAGS). Any errors are logged to the file config.log. If configure fails to discover a header or library please review this log file to determine why. After taking corrective action, be sure to remove the 'config.cache' file before running configure so that configure will re-inspect the environment rather than using cached values. Common causes of configure falures are: 1) a delegate header is not in the header include path (CPPFLAGS -I option); 2) a delegate library is not in the linker search/run path (LDFLAGS -L/-R option); 3) a delegate library is missing a function (old version?); 4) compilation environment is faulty. If all reasonable corrective actions have been tried and the problem appears to be due to a flaw in the configure script, please send a bug report to the configure script maintainer (currently bfriesen@simple.dallas.tx.us). All bug reports should contain the operating system type (as reported by 'uname -a') and the compiler/compiler-version. A copy of the configure script output and/or the config.log file may be valuable in order to find the problem.
Use this option if working imake configuration files are available, the package is to be installed where ever imake installs things (usually the X11 distribution directory), and you don't mind editing a configuration file. Use of this scheme requires a seperate step to install PerlMagick (see the README file in the PerlMagick subdirectory).
Edit Magick.tmpl and set the variables to suit your local environment. Now type:
./confingure xmkmf make Makefiles
or just
./confingure xmkmf -aIf you are using X11R6 imake. Here, GNU configure is used to initialize the delegates/delegates.mgk file.
Note, ImageMagick requires an ANSI compiler. If the compile fails, first check to ensure your compile is ANSI compatible. If it fails for some other reason, try
cd magick make -k cd .. make -k
display
cd ImageMagick/magick make install cd .. make
If the image colors are not correct use this command
display -visual default
For additional information, see the manual pages for these ImageMagick utilities
display logo:Untitled
Concerning iterative JPEG compression: see Kinoshita and Yamamuro, Journal of Imaging Science and Technology, Image Quality with Reiterative JPEG Compression, Volume 39, Number 4, July 1995, 306-312 who claim that (1) the iterative factor of the repetitive JPEG operation had no influence on image quality, and (2) the first compression determined base image quality.
cd ImageMagick gunzip -c HDF4.1r2.tar.gz | tar xvf - mv HDF4.1r2 hdf cd hdf configure make -k hdf-libnofortran cd ..
cd ImageMagick gunzip -c jbigkit-1.0.tar.gz | tar xvof - mv jbig-kit jbig cd jbig make cd ..
cd ImageMagick gunzip -c jpegsrc.v6b.tar.gz | tar xvof - mv jpeg-6b jpeg cd jpeg configure make cd ..
cd ImageMagick gunzip -c libpng-1.0.2.tar.gz | tar xvf - mv libpng-1.0.2 png cd png make cd ..
cd ImageMagick gunzip -c tiff-v3.4beta037.tar.Z | tar xvof - mv tiff-v3.4beta037 tiff cd tiff ./configure make cd ..
cd ImageMagick gunzip -c freetype-1.1.tar.gz | tar xvof - mv freetype-1.1 ttf cd ttf ./configure -disable-shared make cd ..
cd ImageMagick gunzip -c zlib-1.1.3.tar.gz | tar xvf - mv zlib-1.1.3.tar.gz zlib cd zlib make cd ..
make install
cd ImageMagick edit Magick.tmpl and define Has???? as instructed xmkmf make Makefiles make clean make
configure make clean make -k
const
. Fix this problem and try again.
Install sun
unzip ImageMagick-4.1.3.zip set default [.imagemagick] @make set display/create/node=node_name::
display
SET DISPLAY=:0.0
convert image.ext win:
convert x:root image.gif
mogrify +map -colors 256 scenes/dna.[0-9]*Alternatively, you can use a Standard Colormap; or a static, direct, or true color visual. You can define a Standard Colormap with xstdcmap(1). For example, to use the "best" Standard Colormap, type:
xstdcmap -best animate -map best scenes/dna.[0-9]*
animate -visual truecolor scenes/dna.[0-9]*
convert -scene 2 image.tiff image.miff
make clean make
In 16-bit mode expect to use about 33% more memory on the average. Also expect some processing to be slower than in 8-bit mode (e.g. Oil Painting, Segment, etc).
In general, 16-bit mode is only useful if you have 16-bit images that you want to manipulate and save the transformed image back to a 16-bit image format (e.g. PNG, VIFF).
typedef struct _RunlengthPacket { unsigned char red : QuantumDepth, green : QuantumDepth, blue : QuantumDepth, length : QuantumDepth; unsigned short index : 16; } RunlengthPacket;
before compiling.
I'm not sure if this will work on other 64-bit machines that pad. If you know a better solution, please send me E-mail. Note, that the Dec Alpha apparently does not pad the structure so ImageMagick should be fine on this particular 64-bit machine.
cat header binary_image | display -write image.miff -
id=ImageMagick columns=640 rows=480 :